我使用Meteor内置的HTTP.post将授权码发送到Google OAuth2 API以获取令牌。
但是我收到错误:Required parameter is missing: grant_type
。猜猜它是一个编码问题?
HTTP.post('https://accounts.google.com/o/oauth2/token', {data: {
code: 'XXXXXXXXXXX',
client_id : 'XXXXXXX.apps.googleusercontent.com',
client_secret: 'XXXXXXXXXXXXXXXXXXXXXXX',
grant_type : 'authorization_code'
}}, function(error, response ){
if ( error ) {
console.log( error );
} else {
console.log( response );
}
});
答案 0 :(得分:0)
我最终不得不为'params'切换'data',其中包括它作为POST请求的主体。
HTTP.post('https://accounts.google.com/o/oauth2/token', {params: {
code: 'XXXXXXXXXXX',
client_id : 'XXXXXXX.apps.googleusercontent.com',
client_secret: 'XXXXXXXXXXXXXXXXXXXXXXX',
grant_type : 'authorization_code'
}}, function(error, response ){
if ( error ) {
console.log( error );
} else {
console.log( response );
}
});