Как приостановить мой Spotify через приложение Android с помощью команды PUT с помощью Spotify Web API - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть приложение для Android, которое должно выполнять определенные команды на другом компьютере, где spotify работает как настольное приложение.

Текущее состояние таково, что у меня пустое действие с кнопкой. Если кнопка нажата, мой мобильный телефон с приложением для Android должен выполнить эту команду из spotify web api:

https://developer.spotify.com/console/put-pause/

команда выглядит так: curl -X "PUT" "https://api.spotify.com/v1/me/player/pause" -H" Принять: application / json "-H" Тип контента: application / json "-H" Авторизация: Носитель XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * 101X

Я пробую разные вещи и способы решить это сейчас на весь день, и ничего не работает. У кого-нибудь есть похожая проблема или несколько советов, как это сделать?

Спасибо!

1 Ответ

1 голос
/ 16 апреля 2019

Упомянутая конечная точка API работает для меня на веб-консоли, а также на моем компьютере. Если это не работает для вас, проверьте, включает ли ваш токен авторизации область действия user-modify-playback-state.

Относительно советов: библиотеки Spotify для авторизации и управления воспроизведением довольно легко интегрируются.

Я не знаю точно, относится ли часть управления воспроизведением только к воспроизведению на вашем устройстве (мобильном телефоне) или включает ваш вариант использования для управления воспроизведением на вашем рабочем столе. Если нет, вы можете реализовать это как простой OkHttp запрос:

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.spotify.com/v1/me/player/pause")
  .put(null)
  .addHeader("Authorization", "Bearer xxxx-xxxx-xxxx…")
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "application/json")
  .build();

Response response = client.newCall(request).execute();

Если это не поможет, было бы хорошо узнать некоторые подробности о ваших попытках вызова этого API, например, фактический вызов в Java или ответы / ошибки.

...