适用于Google OAuth2的Meteor HTTP.post - 缺少必需参数:grant_type

时间:2016-04-25 22:55:20

标签: meteor

我使用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 );

    }
});

1 个答案:

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