我关注Spotify的client credentials authorization flow,但我的所有卷曲请求每次都会返回{"error":"invalid_client"}
。以下是Spotify的说明:
请求将在请求正文中包含参数:
- grant_type - 设置为“client_credentials”。
此POST请求的标头必须包含以下参数:
- 授权 - Base 64编码的字符串,包含客户端ID和客户端密钥。该字段必须采用以下格式:
Authorization: Basic <base64 encoded client_id:client_secret>
它们还包括卷曲请求的示例:
$ curl -H "Authorization: Basic ZjM4ZjAw...WY0MzE=" -d grant_type=client_credentials https://accounts.spotify.com/api/token
按照他们的例子,到目前为止,我已尝试使用:
进行卷曲请求我使用Ruby的Base64#encode64
方法进行编码。仍然没有运气。有用的提示吗?
答案 0 :(得分:4)
好的,我得到了它的工作 - 将我的client_id和client_secret以冒号分隔到Base64.strict_encode64
(非Base64.encode64
),然后将其传递给上面的curl请求获得200响应访问令牌。显然encode64
还不够。
答案 1 :(得分:0)
我在终端中运行curl命令时遇到此错误。
-bash: unexpected EOF while looking for matching `"'
使用单引号而非双引号解决。