如何使用 Spotify Web API 的 PUT 命令通过 Android 应用程序暂停我的 Spotify

Posted

技术标签:

【中文标题】如何使用 Spotify Web API 的 PUT 命令通过 Android 应用程序暂停我的 Spotify【英文标题】:How to pause my Spotify via Android App with PUT command by Spotify Web API 【发布时间】:2019-09-05 15:41:41 【问题描述】:

我有一个 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 "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

我现在整天都在尝试不同的事情和方法来解决这个问题,但没有任何效果。 有没有人有类似的问题或者一些提示如何解决?

谢谢!

【问题讨论】:

【参考方案1】:

提到的 API 端点在 Web 控制台上对我有用,在我的桌面上也对 curl 请求有效。如果这对您不起作用,请检查您的授权令牌是否包含范围 user-modify-playback-state

关于提示:authorization 和 playback control 的 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 中的实际调用或响应/错误。

【讨论】:

以上是关于如何使用 Spotify Web API 的 PUT 命令通过 Android 应用程序暂停我的 Spotify的主要内容,如果未能解决你的问题,请参考以下文章

如何使用其 Web-API 让 IOS 应用播放 Spotify 播放列表?

如何使用 spotify web api 获取用户的播放列表列表?

如何使用 Spotify Web API 搜索具有通用标题的专辑?

如何使用客户端ID和密码访问spotify的web api?

如何使用 Spotify Web API 制作音频播放器?

spotify web api授权码授予thelinmichael / spotify-web-api-java android