php - Spotify 自动播放列表管理与 PHP 后端和速率限制

标签 php spotify playlist rate-limiting

两个问题:

问题 1。

我们需要从后端 (PHP) 管理 Spotify 用户的 4 个播放列表(无需用户登录)。 我们网站的访问者可以向我们的网站提交多首他们喜欢的歌曲。在此基础上,我们创建并管理 4 个播放列表,其中包含“提交最多的歌曲”。我们希望从 PHP 后端自动执行此过程,而无需在几个月内每天手动管理播放列表。 我们希望为此使用 Spotify API,但需要用户访问 token 来访问和管理用户播放列表。我们创建了一个概念验证,“用 PHP 模拟浏览器”。我们登录、检索身份验证 token 、使用身份验证 token 请求访问 token ,然后执行必要的 API 调用 - 所有这些都无需用户干预。 这种方法有效,但我们怀疑并知道这并不是 100% 可行的方法:)。我们并不是在滥用 API 或其他任何行为,但如果这不是正确的方法,我们如何定期自动管理这 4 个用户播放列表呢? 请注意,我们的后端是基于 Apache – PHP 的。我们也可以使用 NodeJS,但话又说回来,这也不是正确的选择。

问题 2。

用户向我们的网站提交歌曲。当用户在搜索字段中输入(歌曲标题/艺术家姓名)时,一秒钟后我们会对 Spotify API 执行 ajax 调用,并根据输入显示搜索结果。考虑到网站上预期的访问者数量,这可能会给 API 带来大量流量。 文档(https://developer.spotify.com/web-api/user-guide/#rate-limiting)对于应用的速率限制不是很清楚。是否可以为我们提供更好的指示这些速率限制的信息,因为我们希望防止这种情况损害我们的网站

提前致谢。

最佳答案

问题1

如果您想在某个用户的库中创建播放列表,您需要该用户向您的应用授予这些权限。

就您而言,您将实现 Authorization Code flow获取刷新和访问 token 。

存储获取的访问 token 和刷新 token ,使用访问 token 执行请求,并在访问 token 过期时使用刷新 token 更新访问 token 。

如果您要在您拥有的用户中管理这些播放列表,则无需向用户显示任何登录表单。登录一次,然后在脚本中使用获取的 token ,该脚本将定期更改用户的播放列表。

问题2

目前 Spotify 开发者网站上尚未指定限制,但他们的 API 应该能够处理您的搜索请求。如果您想更加安全,请对您的请求进行身份验证,以便它们受到 client_id 的限制。要获取像这样的不包含任何用户信息的 token ,您可以使用 Client Credentials flow .

关于php - Spotify 自动播放列表管理与 PHP 后端和速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25722013/

相关文章:

ios - 为什么 Spotify iOS SDK 在 SPTAudioStreamingController.login() 上无限期挂起?

ios - 尝试播放某些轨道时出现 cocoalibspotify 错误

c# - 在 C# 中创建音乐库和播放列表

php - Bootstrap 输入字段和下拉按钮提交邮件表单

javascript - 如何在node.js上拆分参数而不为默认搜索创建错误

php - 是否有与 Perl 的 WWW::Mechanize 等效的 PHP?

javascript - Spotify 应用程序 API - 播放列表订阅

javascript - 背景视频 HTML5

php - $this->db->group_by() 并添加数量

php - Laravel社交名流通过谷歌登录刷新 token 为空