외부 API
외부 API를 사용하면 프로그램이 HTTP 호출로 UMS 기능에 액세스하거나 트리거할 수 있습니다.
외부 API를 활성화하는 방법
UMS.conf를 편집하고 다음과 같이 api_key를 구성합니다
api_key = secret_password
_secret_password_은 최소 12자여야 합니다.
API 사용법
외부 API가 활성화된 경우 /api/COMMAND에 대한 POST 호출을 통해 API에 액세스할 수 있습니다
폴더 검색
다시 검색
| 의도 | 전체 라이브러리를 다시 검색합니다 |
|---|---|
| URI | /api/folderscanner/rescan |
| 본문 | 없음 |
| 본문 예시 / 설명 | 이 명령에는 본문 내용이 필요하지 않습니다 |
| 다음부터 사용 가능 | 10.4.2 |
:::정보 대형 라이브러리의 경우 속도가 느릴 수 있습니다 :::
예제:
curl -w "%{http_code}\n" -H "api-key: secret_password" http://localhost:5001/api/folderscanner/rescan
파일 또는 폴더 다시 검색
| 의도 | 파일 시스템의 일부 하위 트리를 다시 검색합니다. |
|---|---|
| URI | /api/folderscanner/rescanFileOrFolder |
| 본문 | PATH_TO_SCAN |
| 본문 예시 / 설명 | 예제: "/music/pop/Madonna". 경로는 공유 경로의 루트 또는 하위 폴더여야 합니다. |
| 다음부터 사용 가능 | 10.4.2 |
예제:
curl -d "PATH_TO_SCAN" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/folderscanner/rescanFileOrFolder
좋아하는 음악 (앨범 및 노래)
좋아하는 노래
노래는 좋아요로 표시됩니다.
| 의도 | 음악 Brainz trackId에 의해 식별된 노래처럼 |
|---|---|
| URI | <span class="s1">/api/like/likesong</span> |
| POST BODY | musicBrainz_trackID |
| POST BODY 예제 / 설명 | b8695995-45e9-405d-b4aa-e50e8760fe25 |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/likesong
싫어하는 노래
노래는 싫어하지 않습니다
| 의도 | musicBrainz trackId에 의해 식별된 노래를 싫어합니다 |
|---|---|
| URI | <span class="s1">/api/like/</span>dislikesong |
| POST BODY | musicBrainz_trackID |
| POST BODY 예제 / 설명 | b8695995-45e9-405d-b4aa-e50e8760fe25 |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/dislikesong
노래가 좋아요
노래가 마음에 드는지 확인합니다.
| 의도 | musicBrainz trackId로 '좋아요'를 누른 노래가 있는지 확인 |
|---|---|
| URI | <span class="s1">/api/like/</span><span class="s1">issongliked</span> |
| POST BODY | musicBrainz_trackID |
| POST BODY 예제 / 설명 | b8695995-45e9-405d-b4aa-e50e8760fe25 |
| RESPONSE BODY | TRUE 또는 FALSE |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/issongliked
이 호출은 musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af에 의해 식별된 앨범의 좋아요 속성을 추가합니다.
앨범 좋아요
상태와 같은 앨범을 true로 설정합니다.
| 의도 | musicBrainz releaseID로 식별된 앨범에 좋아요 누르기 |
|---|---|
| URI | <span class="s1">/api/like/</span>likealbum |
| POST BODY | musicBrainz_releaseID |
| POST BODY 예제 / 설명 | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "1e0eee38-a9f6-49bf-84d0-45d0647799af" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/likealbum
앨범 싫어요
상태처럼 앨범을 제거합니다.
| 의도 | musicBrainz releaseID로 식별된 노래 싫어요 표시하기 |
|---|---|
| URI | <span class="s1">/api/like/</span>dislikealbum |
| POST BODY | musicBrainz_releaseID |
| 본문 예시 / 설명 | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "1e0eee38-a9f6-49bf-84d0-45d0647799af" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/dislikealbum
이 호출은 musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af에 의해 식별된 앨범의 좋아요 속성을 제거했습니다.
앨범이 좋아요
앨범 좋아요 상태를 확인합니다.
| 의도 | musicBrainz releaseID로 앨범이 좋아요 를 받았는지 확인하기 |
|---|---|
| URI | <span class="s1">/api/like/</span>isalbumliked |
| POST BODY | musicBrainz_releaseID |
| POST BODY 예제 / 설명 | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
| RESPONSE BODY | "TRUE" 또는 "FALSE" |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "1e0eee38-a9f6-49bf-84d0-45d0647799af" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/isalbumliked
이 호출은 musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af로 식별된 앨범이 마음에 드는지 확인합니다.
등급
평점 API는 노래를 평점하는 역할을 합니다. 등급 정보는 내부 데이터베이스 (캐시 활성화)에 저장되며 선택적으로 파일 자체에 저장됩니다. UMS.conf에서 audio_update_rating_tag = true 가 설정되어 있는 경우 IDv3 등급 필드도 노래 파일에서 업데이트됩니다 (노래 파일 형식이 지원되는 경우).
콘텐츠 디렉토리 서버를 탐색하는 동안 MusicBrainzTrackID (사용 가능한 경우) 및 audiotrackID는 DIDL 요소 내에서 desc 메타데 이터로 전달됩니다.
등급 설정
| 의도 | musicBrainz trackId에 의해 식별된 노래에 별점 (0 - 5)으로 등급 설정 |
|---|---|
| URI | <span class="s1">/api/</span><span class="s1">rating/setrating</span> |
| POST BODY | musicbrainzTrackId /stars |
| POST BODY 예제 / 설명 | b8695995-45e9-405d-b4aa-e50e8760fe25/3 |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25/3" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/setrating
이 호출은 musicbrainz track-id b8695995-45e9-405d-b4aa-e50e8760fe25 로 식별되는 모든 곡의 사용자 등급을 3으로 설정합니다.
등급 받기
데이터베이스에서 노래 등급 읽기
| 의도 | musicBrainz trackID로 별(0 - 5) 단위의 노래 등급 을 얻습니다. 응답 본문에는 등급 정보가 포함되어 있습니다. |
|---|---|
| URI | <span class="s1">/api/</span><span class="s1">rating/getrating </span> |
| POST BODY | musicbrainzTrackId |
| POST BODY 예제 / 설명 | b8695995-45e9-405d-b4aa-e50e8760fe25 |
| RESPONSE BODY 예제 | 3 |
| 이후 사용 가능 | 10.20 |
예제:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/getrating
이 호출은 musicbrainz track-id b8695995-45e9-405d-b4aa-e50e8760fe25.에 의해 식별된 노래의 사용자 등급을 읽습니다.
오디오 트랙 ID별 등급 설정
| 의도 | UMS 내부 오디오 트랙 ID에 의해 식별된 곡에 별 (0 - 5)로 등급 설정 |
|---|---|
| URI | <span class="s1">/api/</span><span class="s1">rating/setRatingByAudiotrackId </span> |
| POST BODY | trackID /stars |
| POST BODY 예제 / 설명 | 32 |
| 이후 사용 가능 | 11.0 |
예제:
curl -d "32/3" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/setrating
이 호출은 오디오 트랙 ID 32로 식별되는 사용자 등급을 3으로 설정합니다.
오디오 트랙 id별 등급 받기
데이터베이스에서 노래 등급 읽기
| 의도 | UMS 내부 오디오 트랙 ID로 별 (0 - 5) 단위의 노래 등급을 얻습니다. 응답 본문에는 등급 정보가 포함되어 있습니다. |
|---|---|
| URI | <span class="s1">/api/</span><span class="s1">rating/getRatingByAudiotrackId</span> |
| POST BODY | trackId |
| POST BODY 예제 / 설명 | 32 |
| RESPONSE BODY 예제 | 3 |
| 이후 사용 가능 | 11.0 |
예제:
curl -d "32" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/getRatingByAudiotrackId
이 호출은 UMS audiotrack-id 32로 식별된 곡의 사용자 등급을 읽습니다.
백업 / 복원
사용자가 관리하는 "좋아용 앨범" 항목은 database_backup이라는 이름의 프로필-디렉터리 하위 폴더에 백업할 수 있습니다. 파일 이름은 MUSIC_BRAINZ_RELEASE_LIKE입니다. UMS 데이터베이스가 삭제될 경우를 대비하여 복구를 호출합니다.
좋아요 앨범 백업
파일 시스템에 백업 테이블 MUSIC_BRAINZ_RELEASE_LIKE
| 의도 | 좋아하는 노래를 파일 시스템에 백업 |
|---|---|
| URI | <span class="s1"><span class="s1">/api/like/</span></span>backupLikedAlbums |
| REQUEST TYPE | GET |
| RESPONSE BODY | 확인 또는 오류 메시지 |
| 이후 사용 가능 | 10.20 |