gpt4 book ai didi

javascript - 使用 Meteor HTTP 在 Spotify API 上请求 access_token 时出现不支持的授权类型错误

转载 作者:数据小太阳 更新时间:2023-10-29 05:02:22 26 4
gpt4 key购买 nike

在使用 Meteor HTTP 请求 Spotify API 上的 access_token 时,我一直无法解决问题。事实上,当我对 Spotify 进行 POST 调用时 https://accounts.spotify.com/api/token .我收到以下回复:

{"statusCode":400,"content":"{\"error\":\"unsupported_grant_type\",\"error_description\":\"grant_type must be client_credentials, authorization_code or refresh_token\"}"

我认为这可能与 Content-Type header 和 BODY 参数的编码有关,但我无法解决此问题。我尝试同时使用数据和参数,但均无效。

这是我的代码:

HTTP.post("https://accounts.spotify.com/api/token", {
data: {
grant_type : "authorization_code",
code : authCode,
redirect_uri : Router.routes['redirect_spotify'].url()
},
headers: {
'Authorization' : "Basic " + CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse("xxxx:yyyyy")),
'Content-Type':'application/x-www-form-urlencoded'
}
}, function(error, result) {
console.log("POST made with data : %j", result);
if (error){
Registrations.remove({userId : this.userId });
return;
}
Registrations.update({
userId : this.userId },
{$set : {
state: "Done",
accessToken: result.access_token,
//TODO expires
refreshToken: result.refresh_token
}},
{ upsert : true}
);
});

提前谢谢大家 :) Love Meteor

最佳答案

您需要使用params 而不是data。因此,您的代码将是:

HTTP.post("https://accounts.spotify.com/api/token", {
params: {
grant_type : "authorization_code",
code : authCode,
redirect_uri : Router.routes['redirect_spotify'].url()
},
headers: {
'Authorization' : "Basic " + CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse("xxxx:yyyyy")),
'Content-Type':'application/x-www-form-urlencoded'
}
}, function(error, result) {
...
});

关于javascript - 使用 Meteor HTTP 在 Spotify API 上请求 access_token 时出现不支持的授权类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com