当前位置: 首页 > 知识库问答 >
问题:

使用Spotify客户端id限制发布请求

燕玉堂
2023-03-14

我正在关注Spotify的客户端凭据授权流,但我的所有curl请求每次都返回{“error”:“invalid_client”}。以下是Spotify的说明:

请求将在请求正文中包含参数:

  • grant_type-设置为“client_credentials”

此 POST 请求的标头必须包含以下参数:

    < li >授权-包含客户端ID和客户端密钥的Base 64编码字符串。该字段必须具有以下html" target="_blank">格式:<代码>授权:基本

它们还包括一个curl请求示例:

$ curl -H "Authorization: Basic ZjM4ZjAw...WY0MzE=" -d grant_type=client_credentials https://accounts.spotify.com/api/token

以他们为例,到目前为止,我已经尝试了curl请求:

    < li >客户端id和客户端密码明文 < li >两种base64编码是分开的 < li >只有一个编码 < li >两者都用冒号编码为一个字符串 < li >两者都编码为不带冒号的一个字符串 < li >以上每一项都带有重新生成的客户端密码

我正在使用 Ruby 的 Base64#编码64 方法来编码。仍然没有运气。有什么有用的提示吗?

共有2个答案

程和煦
2023-03-14

我在终端中运行curl命令时遇到了这个错误。

-bash: unexpected EOF while looking for matching `"'

通过使用单引号而不是双引号来解决。

吴建中
2023-03-14

好吧,我让它工作了 - 将我的client_id和client_secret(用冒号分隔)传递给Base64.strict_encode64(不是Base64.encode64),然后将其传递给上面的卷曲请求,获得带有访问令牌的200响应。显然,编码64是不够的。

 类似资料:
  • 同步-向API发出一批请求,并定期将响应保存到我的数据库。 客户端-从我的客户端的用户向API请求的传递。 服务的文档指定了在给定时间段内可以发出的最大请求数的以下规则: 在一天中: null null 超过这些限制不会导致立即锁定-不会抛出任何异常。但供应商可能会感到恼火,联系我们,然后禁止我们使用他的服务。因此,我需要有一些请求延迟机制,在适当的地方,以防止这一点。我是这样看的: 最安全和最简

  • 在我的代码中,我试图反复构建一个客户端,并向远程endpoint发送一个输入流: 输入流包含消息的xml正文。我注意到在第一次迭代中。。。请求成功第二次迭代响应为400错误请求。。。第三个400错误请求。。。。等等。。。 如果我将输入流更改为字符串...获取真实的xml并用PUT方法发送它。 有什么区别?为什么它可以处理字符串而不能处理输入流?(似乎inputstream在第一次迭代后会发生变化)

  • 我正在使用quarkus.rest客户端调用外部API,并希望将这些调用的频率限制在每秒50次,这样我就不会淹没外部服务。在没有侧车方法的情况下(通过代码),推荐的实现方法是什么?

  • 当我尝试access/oauth/token时,我得到了错误: O.S.S.O.Provider.Endpoint.TokenEndpoint:处理错误:NoSuchClientException,没有请求ID:username的客户端 null

  • 我正在使用SpringWebFlux和netty构建一个微服务。在内部,我使用web客户端进行RESTAPI调用。如何控制通过webclient调用RESTAPI的速率?我猜backnpressure只适用于单个请求/回复,不适用于对我的微服务的多个请求。Amy pointers将不胜感激。谢谢

  • 我有这个代码: 我一直在犯这样的错误: java:不兼容的类型:com。应用句子分类请求。无法将生成器转换为com。应用句子分类请求 我已经使用Maven插件生成了gRPC Java文件。在看了多个例子后,我不确定我的问题是什么。