Глава 6. Web API

Содержание

api/auth.json
api/status.json
api/track/rocks.json
api/track/sucks.json
api/track/info.json

WebAPI позволяет сторонним приложениям общаться со станцией используя протоколы HTTP и JSON.  Результат всегда возвращается в виде отформатированного JSON объекта, с отступами и юникодными символами.

При использовании расширения .js результат возвращается в виде готового фрагмента скрипта, пригодного для включения в HTML-страницу.  По умолчанию значение записывается в переменную response, другое название можно указать с помощью параметра var, а с помощью параметра callback можно указать имя функции, которая должна быть выполнена после присвоения переменной значения.  Пример:

Пример 6.1. Использование JS-интерфейса WebAPI

$ curl 'http://music.tmradio.net/api/status.js?var=foo&callback=bar'
var foo = {...}; bar(foo);

api/auth.json

Используется для получения токена.  Запрос следует отправлять методом POST, идентификатор пользователя и его тип (jid или email) указываются параметрами id и type.  Возвращает серверное сообщение, пользователь получает дальнейшие инструкции через jabber или email.  Пример:

$ curl -X POST -d 'id=alice@example.com&type=email' 'http://music.tmradio.net/api/auth.json'
{
  "status": "ok", 
  "message": "You'll soon receive a message with a confirmation link."
}

После этого пользователь получает ссылку для подтверждения токена, который сообщает программе.  С помощью токена можно голосовать.