如何在 Ruby 中使用 HTTP 请求与 Spotify 合作

Posted

技术标签:

【中文标题】如何在 Ruby 中使用 HTTP 请求与 Spotify 合作【英文标题】:How to work with Spotify using HTTP requests in Ruby 【发布时间】:2021-12-13 17:55:31 【问题描述】:

首先我需要在我的 Spotify 帐户中创建一个新的播放列表,然后我需要添加一些歌曲,然后更改播放列表中歌曲的顺序。如何使用带有 Watir 或 RestClient 的 ruby​​ 中的 HTTP 请求来做到这一点?

我已经编写了脚本来让我登录并使用 RestClient 获取 ACCES TOKEN。

grant = Base64.encode64("#CLIENT_ID:#CLIENT_SECRET").delete("\n")

respond = RestClient.post('https://accounts.spotify.com/api/token',
                       'grant_type' => 'client_credentials',
                       "Authorization" => "Basic #grant")
token_ext =  respond.split(',')
token_ext2 = token_ext[0].split(':')
only_token = token_ext2[1].delete_prefix('"').delete_suffix('"')
puts 'ACCES TOKEN: %s' % [only_token]

来自 Spotify Docs 的 HTTP 请求示例。 Add new playlist

【问题讨论】:

请发布您正在努力工作的特定非工作代码以及您正在努力完成的部分任务的相关 html。正如它现在所读的那样,这个问题基本上是要求互联网为你做功课,而这不是我们在这里所做的。 【参考方案1】:

Watir 通过驱动浏览器创建 HPPT(S) 请求。它通常用于对 Web UI 进行自动化测试。您提供的示例帖子似乎是对带有 JSON 正文的 Web API 的直接调用。所以通常你会使用类似 REST Client 的东西来创建这样的 HTTP 请求。通常,这从一个身份验证请求开始,以获取一个令牌,然后将其合并到后续 API 请求的标头中,例如您链接的那个。我建议从一些使用该 gem 的基本教程开始。

否则,使用 WATIR 执行此操作基本上意味着遵循与手动使用 Web 浏览器相同的步骤,只是使用使用 watir gem 驱动浏览器而不是键盘和鼠标的 ruby​​ 代码。这通常从导航到网站、登录然后操作 UI(填写输入字段、单击按钮等)开始

【讨论】:

以上是关于如何在 Ruby 中使用 HTTP 请求与 Spotify 合作的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ruby on Rails 发出 HTTP 请求?

如何使用 Ruby 构建 HTTP 请求并将其发送到 Tor 隐藏服务

在Ruby中发送HTTP / 2 POST请求

如何使用 Ruby on Rails 发出 HTTP 请求?

如何在 Ruby 中发送 HTTP PUT 请求?

Ruby 发送 JSON 请求