【问题标题】:How can I make my application using Spotify API accessible to other users?如何使用 Spotify API 使我的应用程序可供其他用户访问?
【发布时间】:2020-06-10 19:06:58
【问题描述】:

我目前有一个使用基于 Spotify API 的 Spotipy python 库实现的 python 脚本。但是,我想让更多没有自己的 CLIENT_ID、CLIENT_SECRET 等的用户可以访问它。我该怎么做?我目前正在使用授权代码流,当其他用户登录时,它会引发异常并显示“您无法为其他用户创建播放列表。”谢谢。

【问题讨论】:

  • 欢迎来到 SO!您可能会选择Tour,并且应该(重新)阅读帮助主题How to Ask,以了解如何做出贡献。您至少应该提供一个最小的、完整的和可重现的代码示例 (MCRE)。

标签: python api spotify spotipy


【解决方案1】:

一种可能性是将其作为 API 并将其作为 python Web 服务器的一部分进行托管。这是一个完整的工作示例,允许多个用户登录https://github.com/plamere/spotipy/blob/master/examples/app.py

它使用 Flask,但您可以将其调整到 Django,例如。

【讨论】:

    【解决方案2】:

    您必须在授权流程期间提供正确的范围参数(以下是 node.js 中的基本示例)。范围基本上定义了您向最终用户请求的所有权限。

    app.get('/login', function(req, res) {
    var scopes = 'user-read-private user-read-email';
    res.redirect('https://accounts.spotify.com/authorize' +
      '?response_type=code' +
      '&client_id=' + my_client_id +
      (scopes ? '&scope=' + encodeURIComponent(scopes) : '') +
      '&redirect_uri=' + encodeURIComponent(redirect_uri));
    });
    

    here 引用的片段。

    另外,检查范围列表及其描述here。如果您没有找到适合您的目的的范围,很遗憾,这对您来说是一个障碍。

    【讨论】:

    • 我已经有范围“播放列表修改公共用户阅读最近播放”。我的应用程序只是创建了用户最近播放的曲目的播放列表,所以我看不到我还需要什么
    • 如果 API 抛出“您无法为其他用户创建播放列表”。错误,您可能正在创建一个用户私有的播放列表。在我看来,您应该尝试将“playlist-modify-private”添加到范围列表中。
    猜你喜欢
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    相关资源
    最近更新 更多