【问题标题】:Spotify API Token Scope IssueSpotify API 令牌范围问题
【发布时间】:2019-01-18 14:19:58
【问题描述】:

我已经有一段时间了,想看看是否有人知道我可能做错了什么。我想要做的是使用提供的 Spotify Web API 将歌曲添加到播放列表。根据https://developer.spotify.com/documentation/web-api/reference/playlists/add-tracks-to-playlist/ 上的文档,我需要建立用户的范围。

“将曲目添加到当前用户的私人播放列表(包括协作播放列表)需要播放列表修改私人范围”我已将播放列表创建为协作播放列表,并且我正在使用我的个人帐户的登录凭据访问我创建的播放列表.这一切都在同一个登录下。

我发现,在我调用我的令牌时,我的范围没有被添加到我的令牌中,当我尝试添加歌曲时会导致 403 错误。 这是调用的样子

https://accounts.spotify.com/authorize/?client_id=mynumber&response_type=code&scope=playlist-modify-private&redirect_uri=http:%2F%2Flocalhost:55141/Home/GetToken/

这里是关于使用授权获取正确令牌的文档。 https://accounts.spotify.com/authorize/?client_id=894400c20b884591a05a8f2432cca4f0&response_type=code&scope=playlist-modify-private&redirect_uri=http:%2F%2Flocalhost:55141/Home/GetToken/

如果我在这里进入开发支持,还有更多信息 https://developer.spotify.com/documentation/web-api/reference/playlists/add-tracks-to-playlist/ 并单击绿色的尝试按钮,然后请求一个它可以工作的新令牌。

底线是我的请求没有接受我的范围请求。有什么想法吗?

谢谢

【问题讨论】:

    标签: spotify


    【解决方案1】:

    要获取具有特定范围的令牌,您需要转到authorize 端点并获取codecode 是您希望能够 http 发布到端点 https://accounts.spotify.com/api/token 并获得具有所需范围的令牌。您只需在浏览器中粘贴这样的网址即可获得code...

    https://accounts.spotify.com/authorize?client_id=<client_id>&response_type=code&scope=streaming%20user-read-email%20user-read-private&redirect_uri=<redirect_uri>
    

    如果有多个范围,则仅在范围之间添加 %20

    然后您将被发送到 spotify 的网站,他们会验证您是否愿意这样做。验证后,您的浏览器会将您重定向到您在上面的 url 中设置的 redirect_uri。在您发送到的 url 的末尾,您应该能够看到参数名称 code 以及分配给它的代码值。然后,您获取该代码并将其放入您的 http post body params 到 https://accounts.spotify.com/api/token 端点。确保您准确遵循 post 方法中的查询参数要求。

    使用 requests 库的 python 帖子示例:

    authorization = requests.post(
        "https://accounts.spotify.com/api/token",
        auth=(client_id, client_secret),
        data={
            "grant_type": "authorization_code",
            "code": <code>,
            "redirect_uri": <redirect_uri>
        },        
    )
    
    
    authorization_JSON = authorization.json()
    return authorization_JSON["access_token"]
    

    最后你应该得到一个显示你设置的范围的 json 长,稍后刷新令牌以发出更多请求。

    我知道这个答案已经很晚了,但我也遇到了同样的问题,这就是我遇到这个问题的原因。我希望这对以后看到此内容的人有所帮助。

    来源:https://developer.spotify.com/documentation/general/guides/authorization-guide/#client-credentials-flow

    【讨论】:

      猜你喜欢
      • 2017-06-26
      • 2021-10-11
      • 2015-11-11
      • 2017-02-14
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 2018-01-08
      • 2020-10-09
      相关资源
      最近更新 更多