Внешний API
Внешний API позволяет программам получать доступ к функциям UMS или запускать их с помощью HTTP-вызова.
Как включить внешний API
Отредактируйте UMS.conf и настройте api_key следующим образом
api_key = секретный_пароль
секретный_пароль
должен содержать не менее 12 символов.
Использование API
Если внешний API включён, API доступен с помощью POST-вызова в /api/COMMAND
Сканирование папок
повторное сканирование
Намерение | Пересканирование всей библиотеки |
---|---|
URI | /api/сканер папок/повторное сканирование |
Содержание сообщения | Никто |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | Эта команда не нуждается в содержании сообщения |
Доступно с | 10.4.2 |
Может быть медленно для больших библиотек :::
Пример:
curl -w "%{http_code}\n" -H "api-ключ: секретный_пароль" http://localhost:5001/api/сканируемые папки/повторное сканирование
Пересканировать файл или папку
Намерение | Частичное пересканирование дерева файловой системы. |
---|---|
URI | /api/сканируемые папки/повторно сканировать файл или папку |
Содержание сообщения | ПУТЬ_ К_СКАНИРОВАНИЮ |
Пример СОДЕРЖА НИЯ СООБЩЕНИЯ/описание | пример: "/music/pop/Madonna". Путь должен быть к корневой папке или к вложенной папке общего доступа. |
Доступно с | 10.4.2 |
Пример:
curl -d "ПУТЬ_ К_СКАНИРОВАНИЮ" -w "%{http_code}\n" -H "api-key: секретный_пароль" -X СООБЩЕНИЕ http://localhost:5001/api/сканируемые папки/Повторно просканировать файл или папку
Нравится музыка (альбомы и песни)
нравится песня
Песня будет отмечена как понравившаяся.
Намерение | Нравится песня, идентифицированная с помощью MusicBrainz TrackID |
---|---|
URI | <span class="s1">/api/нравится/lпонравившаяся песня</span> |
Содержание сообщения | musicBrainz_trackID |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | b8695995-45e9-405d-b4aa-e50e8760fe25 |
Доступно с | 10.20 |
Пример:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-ключ: секретный_пароль" -X СООБЩЕНИЕ http://localhost:5001/api/нравится/понравившаяся песня
не нравится песня
Песня не нравится
Н амерение | Не нравится песня, идентифицированная MusicBrainz TrackID |
---|---|
URI | <span class="s1">/api/нравится/</span>песня не нравится |
Содержание сообщения | musicBrainz_trackID |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | b8695995-45e9-405d-b4aa-e50e8760fe25 |
Доступно с | 10.20 |
Пример:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-ключ: секретный_пароль" -X POST http://localhost:5001/api/нравится/песня не нравится
песня понравилась
Отметьте, если песня нравится.
Намерение | Отметьте, если понравилась песня, идентифицированная с помощью MusicBrainz TrackID |
---|---|
URI | <span class="s1">/api/нравится/</span><span class="s1">песня мне нравится </span> |
Содержание сообщения | musicBrainz_trackID |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | b8695995-45e9-405d-b4aa-e50e8760fe25 |
СОДЕРЖАНИЕ ОТВЕТА | ИСТИНА или ЛОЖЬ |
Доступно с | 10.20 |
Пример:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-ключ: секретный_пароль" -X СООБЩЕНИЕ http://localhost:5001/api/нравится/понравившаяся песня
Этот вызов добавляет связанный атрибут понравившегося альбома, идентифицированный musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af
.
нравится альбом
Установите для состояния album like значение true.
Намерение | Понравившийся альбом, идентифицированный MusicBrainz ReleaseID |
---|---|
URI | <span class="s1">/api/нравится/</span>понравившийся альбом |
Содержание сообщения | musicBrainz_releaseID |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
Доступно с | 10.20 |
Пример:
curl -d "b8695995-45e9-405d-b4aa-e50e8760fe25" -w "%{http_code}\n" -H "api-ключ: секретный_пароль" -X СООБЩЕНИЕ http://localhost:5001/api/нравится/понравившаяся песня
не нравится альбом
Удалить статус альбома, как понравившегося .
Намерение | Не нравится песня, идентифицированная MusicBrainz ReleaseID |
---|---|
URI | <span class="s1">/api/нравится/</span>альбом не нравится |
Содержание сообщения | musicBrainz_releaseID |
Пример / описание текста сообщения | 1e0eee38-a9f6-49bf-84d0-45d0647799af |
Доступно с | 10.20 |
Пример:
curl -d "1e0eee38-a9f6-49bf-84d0-45d0647799af" -w "%{http_code}\n" -H "api-key: секретный_пароль" -X POST http://localhost:5001/api/нравится/альбом не нравится
Этот вызов удалил связанный атрибут альбома, идентифицированный musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af
.
нравится альбом
Проверьте статус понравившегося альбома
Замысел | Проверьте, понравился ли альбом, указанный в MusicBrainz ReleaseID |
---|---|
URI | <span class="s1">/api/нравится/</span>понравившийся альбом |
Содержание сообщения | 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/isalbumliked
Этот вызов проверяет, идентифицирован ли альбом с помощью musicbrainz release-id 1e0eee38-a9f6-49bf-84d0-45d0647799af
нравится.
Рейтинг
Rating API отвечает за рейтинг песен. Информация о рейтинге сохраняется во внутренней базе данных (кэш включен) и, при необходимости, в самом файле. Если в UMS.conf задано значение audio_update_rating_tag = true
, поле оценки IDv3 также обновляется в файле песни (если поддерживается формат файла песни).
При просмотре сервера каталогов содержимого MusicBrainzTrackID (если доступно) и audiotrackID передаются как метаданные desc
в элементе DIDL.
установить рейтинг
Замысел | Установите рейтинг в звездах (0 - 5) для песни, идентифицированной с помощью MusicBrainz TrackID |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/setrating</span> |
Содержание сообщения | musicbrainzTrackId /stars |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | 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
.
установить рейтинг
Считывает рейтинг песни из базы данных
Намерение | Получите рейтинг песни в звездах (0 - 5) с помощью внутреннего audiotrackID UMS. Текст ответа содержит информацию о рейтинге. |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/getrating </span> |
Содержание сообщения | musicbrainzTrackId |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | b8695995-45e9-405d-b4aa-e50e8760fe25 |
Пример ОТВЕТА | 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 b8695995-45e9-405d-b4aa-e50e8760fe25
.
установите рейтинг по идентификатору audiotrack id
Намерение | Установите оценку в звездах (0 - 5) для песни, идентифицированной с помощью внутреннего audiotrackID UMS |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/setRatingByAudiotrackId </span> |
Содержание сообщения | trackID /stars |
Пример СОДЕРЖАНИЯ СООБЩЕНИЯ/описание | 32 |
Доступно с | 11.0 |
Пример:
curl -d "32/3" -w "%{http_code}\n" -H "api-key: secret_password" -X POST http://localhost:5001/api/rating/setrating
Этот вызов устанавливает пользовательский рейтинг песен, определенный по audiotrackid 32
, на 3
.
получить рейтинг по ID аудиотрека
Считывает рейтинг песни из базы данных
Замысел | Получите рейтинг песни в звездах (0 - 5) по MusicBrainz TrackID. Текст ответа содержит информацию о рейтинге. |
---|---|
URI | <span class="s1">/api/</span><span class="s1">rating/getRatingByAudiotrackId</span> |
Содержание сообщения | идентификатор трека |
Пример / описание текста сообщения | 32 |
Пример ОТВЕТА | 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 |
ТИП ЗАПРОСА | ПОЛУЧИТЬ |
СОДЕРЖАНИЕ ОТВЕТА | OK или сообщение об ошибке |
Доступно с | 10.20 |
Пример:
curl -w "%{http_code}\n" -H "api-ключ: секретный_пароль" http://localhost:5001/api/понравившиеся/дублированные альбомы
Этот вызов создаст резервную копию файла, содержащего понравившиеся альбомы
восстановить понравившиеся альбомы
Восстановление таблицы MUSIC_BRAINZ_RELEASE_LIKE
из файловой системы
Замысел | восстановить понравившиеся песни из файла резервной копии |
---|---|
URI | <span class="s1"><span class="s1"><span class="s1">/api/like/</span></span></span>restoreLikedAlbums |
ТИП ЗАПРОСА | ПОЛУЧИТЬ |
СОДЕРЖАНИЕ ОТВЕТА | OK или сообщение об ошибке |
Доступно с | 10.20 |
Пример:
curl -w "%{http_code}\n" -H "api-ключ: секретный_пароль" http://localhost:5001/api/понравившиеся/дублированные альбомы
Этот вызов восстанавливает файл резервной копии.
Плейлист
Включить службу
Отредактируйте UMS.conf и настройте папку управляемого списка воспроизведения, установив
<span class="s1">managed_playlist_folder</span> = PATH_TO_PLAYLIST_FOLDER
для включения этой службы. По умолчанию эта служба отключена. Путь к папке плейлиста должен быть расположен под настроенным общим <span class="s1">каталогом</span>
для изменения плейлиста, созданным этим API, который будет виден UMS.