現在、Google oauth api を使用して、Google ユーザーが自分のアプリにログインできるようにしようとしています。そして、Google のOAuth2Loginドキュメントに沿って進めてきました。
これを使用してコードを取得しましたが、問題なく機能しました。
var u = 'https://accounts.google.com/o/oauth2/auth?'
+ '&response_type=code'
+ '&client_id=' + opts.googleClient
+ '&redirect_uri=' + redirectURI
+ '&scope=' + opts.scope
+ '&approval_prompt=force&access_type=offline';
しかし、私は/o/oauth2/token
以下のようなAPIでaccess_tokenを取得しようとしています:
var u = 'https://accounts.google.com/o/oauth2/token?'
+ 'code=' + code
+ '&client_id=' + opts.googleClient
+ '&client_secret=' + opts.googleSecret
+ '&scope='
+ '&redirect_uri=' + redirectURI
+ '&grant_type=' + 'authorization_code';
request.post({url: u, json: true}, fn);
それは私を返しました
{
error: "invalid_request"
}
ネットワークバーのChrome開発者ツールで確認しましたが、リクエストURLがhttps://accounts.google.com/o/oauth2/approval?as=-5013c18c497345fc&hl=en&pageId=none&xsrfsign=APsBz4gAAAAAUcwS1TxlojrAPVNCj7ntTlz1H4xQgysC
投稿先の代わりであることを示しています。
投稿の URL とデータがGoogle の oauthplaygroundとまったく同じであることを確認できます。しかし、結果はまったく異なります。
私は何か悪いことをしましたか?助けてください。