Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
82
rated 0 times [  89] [ 7]  / answers: 1 / hits: 16525  / 10 Years ago, mon, january 26, 2015, 12:00:00

I've been unable to solve a problem while requesting an access_token on Spotify API with Meteor HTTP. Indeed, when I make a POST call to the Spotify https://accounts.spotify.com/api/token. I get the following response :



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


I think this may have something to do with the Content-Type header and the encoding of the BODY parameter but I haven't been able to solve this issue. I tried to use both data and params and none of these worked.



Here is my code :



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}
);
});


Thank you all in advance :) Love Meteor


More From » http

 Answers
28

You need to use params instead of data. Thus, your code would be:



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) {
...
});

[#68081] Friday, January 23, 2015, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
montana

Total Points: 675
Total Questions: 86
Total Answers: 102

Location: Mali
Member since Fri, Dec 3, 2021
3 Years ago
;