【问题标题】:401 Unauthorized when trying to grab playlists using Spotify API尝试使用 Spotify API 抓取播放列表时出现 401 Unauthorized
【发布时间】:2016-11-07 19:01:01
【问题描述】:

我提取了一个 client_credentials 令牌,虽然我可以访问 API 的其他部分,但我似乎无法提取播放列表信息。这绝对是一个公开的播放列表,但我得到了 401 Unauthorized。我是不是误会了什么?

编辑 例如,这有效: 放curl -I -s -X GET "https://api.spotify.com/v1/users/#{testUser}" -H "Authorization: Bearer {#{@accessToken}}"

这不会: 放curl -I -s -X GET "https://api.spotify.com/v1/users/#{testUser}/playlists/#{testPlaylist}?fields=href,name,owner(!href,external_urls),tracks.items(added_by.id,track(name,href,album(name,href)))" -H "Authorization: Bearer {#{@accessToken}}"

【问题讨论】:

  • 错误信息是什么?
  • “此请求需要身份验证”。不幸的是,没有得到更多。
  • 例如... curl -s -X POST "#{TOKEN_URI}" --data "grant_type=client_credentials" -H "Authorization: Basic #{authorization}" curl -I -s -X GET "https://api.spotify.com/v1/users/spotify/playlists/59ZbFPES4DQwEjBpWHzrtC" -H "Authorization: Bearer {#{token}}"

标签: spotify


【解决方案1】:

您确定将凭据 cookie 作为请求的一部分发送吗?如果不确定,可以使用 Wireshark 或类似工具查看请求的详细信息。

编辑:相关文档,但您可能已经看过这个:

https://developer.spotify.com/web-api/get-playlist/

【讨论】:

  • 我正在发送令牌,如果这就是您的意思。例如,这有效: puts curl -I -s -X GET "https://api.spotify.com/v1/users/#{testUser}" -H "Authorization: Bearer {#{@accessToken}}" 这无效: puts curl -I -s -X GET "https://api.spotify.com/v1/users/#{testUser}/playlists/#{testPlaylist}?fields=href,name,owner(!href,external_urls),tracks.items(added_by.id,track(name,href,album(name,href)))" -H "Authorization: Bearer {#{@accessToken}}"
  • 好吧,看看 Spotify 文档,这一切对我来说都是正确的,只要您使用的是播放列表的 ID(例如 59ZbFPES4DQwEjBpWHzrtC),而不是它的名称。我假设您已经尝试过其他播放列表。抱歉,我无法提供更多帮助。
  • 是的。诡异的。我唯一能想到的是,如果 client_credentials 不是正确的令牌。但是,我正在查看 rspotify gem(确实 工作),它似乎使用了 client_credentials...所以...是的。啊。还是谢谢!
猜你喜欢
  • 2021-06-02
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2019-08-24
  • 2013-07-06
  • 1970-01-01
  • 2021-03-27
  • 2016-02-02
相关资源
最近更新 更多