外部 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 |
なし | |
ボディの例 / 説明 | このコマンドは本体の内容を必要としません |
Available since | 10.4.2 |
This can be slow for large libraries
例:
curl -w "%{http_code}\n" -H "api-key: secret_password" http://localhost:5001/api/folderscanner/rescan
ファイルまたはフォルダを再スキャン
Intention | Rescans a partial subtree of the file system. |
---|---|
URI | /api/folderscanner/rescanFileOrFolder |
POST BODY | PATH_TO_SCAN |
POST BODY example / description | example: "/music/pop/Madonna". Path must be the root or a subfolder of a shared path. |
以下から利用可能: | 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
ライクした音楽(アルバムや曲)
ライクした曲
曲は「いいね」としてマークされます。
ご注意 | Like a song identified by musicBrainz trackId |
---|---|
URI | <span class="s1">/api/like/likesong</span> |
POST BODY | musicBrainz_trackID |
POST BODY example / description | b8695995-45e9-405d-b4aa-e50e8760fe25 |
Available since | 10.20 |
Example:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/likesong
dislike song
Song will not be disliked
Intention | musicBrainz trackId によって識別された曲が嫌いです |
---|---|
URI | <span class="s1">/api/like/</span>dislikesong |
POST BODY | musicBrainz_trackID |
POST BODY example / description | b8695995-45e9-405d-b4aa-e50e8760fe25 |
Available since | 10.20 |
Example:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/dislikesong
is song liked
Check if song is liked.
Intention | Check if song is liked identified by musicBrainz trackId |
---|---|
URI | <span class="s1">/api/like/</span><span class="s1">issongliked</span> |
POST BODY | musicBrainz_trackID |
POST BODY example / description | b8695995-45e9-405d-b4aa-e50e8760fe25 |
RESPONSE BODY | TRUE or FALSE |
Available since | 10.20 |
Example:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/issongliked
This call adds the liked attribute of the album identified by musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af
.
like album
Set album like state to true.
Intention | Likes an album identified by musicBrainz releaseID |
---|---|
URI | <span class="s1">/api/like/</span>likealbum |
POST BODY | musicBrainz_releaseID |
POST BODY example / description | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
Available since | 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 |
POST BODY example / description | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
Available since | 10.20 |
Example:
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 1e0ee38-a9f6-49bf-84d0-45d0647799af
で識別されたアルバムの liked 属性を削除しました。
アルバムがいいね!されました
状態のようなアルバムをチェックします。
ご注意 | アルバムがmusicBrainzのreleaseIDによって認識されているかどうかを確認します |
---|---|
URI | <span class="s1">/api/like/</span>isalbumliked |
POST BODY | musicBrainz_releaseID |
POST BODY example / description | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
RESPONSE BODY | "TRUE" or "FALSE" |
Available since | 10.20 |
Example:
curl -d "1e0eee38-a9f6-49bf-84d0-45d0647799af" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/like/isalbumliked
This call checks if the album identified by musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af
is liked.
Rating
評価APIは曲を評価する責任があります。 Rating information is saved in the internal database (cache enabled) and optionally in the file itself. If audio_update_rating_tag = true
is set in UMS.conf the IDv3 rating field also being updated in the song file (if the songs file format is supported).
While browsing the content directory server, MusicBrainzTrackID (if available) and audiotrackID are delivered as desc
metadata within the DIDL element.
set rating
Intention | Set rating in stars (0 - 5) on a song identified by musicBrainz trackId |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/setrating</span> |
POST BODY | musicbrainzTrackId /stars |
POST BODY example / description | b8695995-45e9-405d-b4aa-e50e8760fe25/3 |
Available since | 10.20 |
Example:
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
によって識別された曲のユーザー評価を読み込みます。
get rating
ソングレーティングをデータベースから読み込みます
Intention | musicBrainzのtrackIDで星の評価を取得します。 Response body contains the rating information. |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/getrating </span> |
POST BODY | musicbrainzTrackId |
POST BODY example / description | b8695995-45e9-405d-b4aa-e50e8760fe25 |
RESPONSE BODY example | 3 |
Available since | 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 example / description | 32 |
Available since | 11.0 |
Example:
curl -d "32/3" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/setrating
This call sets songs user rating identified by audiotrack id 32
to 3
.
get rating by audiotrack id
ソングレーティングをデータベースから読み込みます
ご注意 | UMS内蔵のaudiotrackIDで星評価(0 - 5)を取得します。 Response body contains the rating information. |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/getRatingByAudiotrackId</span> |
POST BODY | trackId |
POST BODY example / description | 32 |
RESPONSE BODY example | 3 |
Available since | 11.0 |
Example:
curl -d "32" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/getRatingByAudiotrackId
この呼び出しは、UMS audiotrack-id 32
によって識別された曲のユーザー評価を読み込みます。
バックアップ / 復元
ユーザー管理 "liked album" エントリは database_backup
という名前の profile-directory サブフォルダにバックアップすることができます。 ファイル名は MUSIC_BRAINZ_RELEASE_LIKE
です。 UMSデータベースが削除された場合は、リストアを呼び出します。