Spotify通过PHP后端和速率限制自动管理播放列表


Spotify automated playlist management with PHP back-end and rate limits

两个问题:

问题1.

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

问题2.

用户将歌曲提交到我们的网站。当用户输入搜索字段(歌曲标题/艺术家姓名)时,一秒钟后,我们对Spotify API执行ajax调用,并根据输入显示搜索结果。考虑到网站上预期的访问者数量,这可能会给API带来大量流量。文档(https://developer.spotify.com/web-api/user-guide/#rate-限制)对所应用的速率限制不是很清楚。有没有可能给我们一个更好的指示这些费率限制,因为我们想防止这会破坏我们的网站

提前谢谢。

问题1

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

在您的情况下,您将实现授权代码流来获得刷新和访问令牌。

存储获得的访问令牌和刷新令牌,使用访问令牌执行请求,并在访问令牌到期时使用刷新令牌续订访问令牌。

如果你要在你自己的用户中管理这些播放列表,那么就不需要向用户显示任何登录表单。登录一次,并在脚本中使用提取的令牌,该脚本将定期更改用户的播放列表。

问题2

Spotify开发者网站目前没有指定限制,但他们API应该能够处理您的搜索请求。如果您想更加安全,请验证您的请求,使其受到client_id基础的限制。要获得这样一个不包含任何用户信息的令牌,可以使用客户端凭据流。