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

2024-01-04

两个问题:

问题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-limiting https://developer.spotify.com/web-api/user-guide/#rate-limiting)对于所应用的速率限制不是很清楚。是否可以给我们更好的指示这些速率限制,因为我们希望防止这种情况破坏我们的网站?

提前致谢。


问题1

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

就您而言,您将实施授权码流程 https://developer.spotify.com/web-api/authorization-guide/#authorization_code_flow获取刷新令牌和访问令牌。

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

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

问题2

目前 Spotify 开发者网站上尚未指定限制,但他们的 API 应该能够处理您的搜索请求。如果您想更加安全,请对您的请求进行身份验证,以便它们受到 client_id 的限制。要获取像这样的不包含任何用户信息的令牌,您可以使用客户凭证流程 https://developer.spotify.com/web-api/authorization-guide/#client_credentials_flow.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spotify 自动播放列表管理与 PHP 后端和速率限制 的相关文章

  • php 中 php.ini 的 log_errors 和 error_log

    我正在尝试通过 php ini 更改 php ini 中的设置 我的问题是 当出现错误时 它不会放入文件 error log txt 中 那么我做错了什么 这是我的代码 Settings for php ini ini set sessio
  • “警告:mysql_query():提供的参数不是有效的 MySQL-Link” - 为什么?

    我的代码有什么问题吗 我不断收到此错误 Warning mysql query supplied argument is not a valid MySQL Link resource in functions php on line 4
  • 使用 PHP 分割逗号分隔名称

    我的名字格式为姓氏 名字 在我的数据库中 第一个和最后一个字段都有不同的字段 我想使用 PHP 读取逗号之前的所有内容作为姓氏 以及逗号之后的所有内容作为名字 实现这一目标的最佳方法是什么 list Lastname Firstname e
  • PHP 函数 iconv 字符编码从 iso-8859-1 到 utf-8

    我正在尝试将字符串从 iso 8859 1 转换为 utf 8 但是当我找到这两个字符 和 时 函数返回 一个字符 是一个里面有两个数字的正方形 我该如何解决这个问题 我认为您正在寻找的编码是Windows 代码页 1252 http en
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 提交简单 PHP 表单时出现禁止错误

    我有一个不复杂的问题 这似乎比应有的更复杂 我有一个简单的表单 用于向网站添加内容 有些字段需要输入html 然而 当您在表单的不同部分输入某些 html 元素时 它会认为它讨厌您并抛出禁止的 403 错误 这是下面的表格
  • 如何接收发送到 twilio 号码的短信

    我在 twilio 创建了一个免费帐户 用于通过我的网站发送短信 注册后 我得到了一个 twilio 号码 例如 XXX XXX XXXX 我可以向手机号码发送消息 但我不知道如何使用这个 twilio 号码接收短信 请帮我解决这个问题 T
  • Zend 框架会话丢失

    我有一个注册表单 当用户注册时 它会将他重定向到他的页面 在 Firefox 和 Chrome 中一切正常 但在 Internet Explorer 中则正常 看起来保存用户信息后 会话就关闭了 并且不会将用户重定向到他的页面 我该如何解决
  • 项目链接在 Wamp 服务器上不起作用

    我正在另一台计算机上安装 Wamp 服务器来运行中型数据库和 UI 我已成功阻止 IIS 并将服务器路由到 Localhost 8080 但是每当我尝试从 localhost 主页访问我的项目时 在 www 文件中 我被重定向到页面未找到错
  • 使用活动目录对 Intranet 站点上的用户进行身份验证

    我建立了一个 内联网 站点 它有自己的登录系统 用户注册为新用户 并使用其上的用户名 密码登录该站点 但是 现在我想扩展它 让 Intranet 站点使用现有的 ActiveDirectory 进行身份验证 这就是我正在寻找的 前进 当用户
  • 如何使用 PATCH 更新简单的数据库字段?

    我是 php 和 API 的新手 我正在尝试学习这些方法 但我无法执行 PATCH 或 PUT 来更新我的简单 mysql 数据库 我使用了以下代码 if isset PATCH con mysqli connect localhost r
  • 将 jQuery 与 Selenium WebDriver 结合使用 - 如何将 JSON 对象转换为 WebElement?

    我正在使用 Selenium WebDriver 我想执行 jQuery 代码来查找一些元素 我的代码如下 public function uploadGrantDoc script return itemlist grant file u
  • 从 PHP 启动守护进程

    对于网站 我需要能够启动和停止守护进程 我目前正在做的是 exec sudo etc init d daemonToStart start 守护进程已启动 但 Apache PHP 挂起 做一个ps aux透露sudo它本身变成了僵尸进程
  • PHP 搜索部分字符串

    如何在键入时搜索部分字符串 不使用 MySQL 例如 MySQL 中的 LIKE 函数 但在搜索字符串时使用 PHP 例如 但这显然行不通 但是有没有一个函数可以搜索部分字符串 那太好了 EDIT 如果它在数组中怎么办 如果我使用 strp
  • 什么是 PHP session_start()

    它是否基于 cookie 启动当前会话 从 PHP 网站上得到的 PHP如何控制会话 如果我在用户打开我的登录页面时启动会话 我什至可以使用该会话做什么 我可以使用当前会话来获取有关登录用户的信息吗 PHP 会话系统允许您将数据安全地存储在
  • 如何在没有 SSH 和 CLI 访问生产的情况下部署 symfony 项目 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 大多数托管提供商仅具有 FTP 访问权限 是否可以 常见地进行 symfony 项目 3 x 或 4 x 的本地安装 然后通过 FTP 上
  • 访问 PHP 数组对象受保护的属性

    我正在尝试在 Symfony2 中上传多个文件 我正在尝试访问以下请求对象 但无法获取参数属性 如何将文件一一上传 我得到的错误 致命错误 无法访问第 66 行 var www File src Webmuch FileBundle Ent
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc
  • 突出显示单词并提取其附近文本的函数

    我有一个文本例如 Etiam porta semmalesuada magna mollis euismod 整数取数 ante venenatis dapibus posuere velit aliquet 埃蒂亚姆 门塔 塞姆 male
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐