OAuth 2応答コードのOAuth応答トークンを返そうとしています。しかし、私のリクエストは次のエラーを返し、Googleでの結果はゼロです。I response_type
を「コード」ではなく「トークン」に変更しようとしましたが、それも機能しませんでした。
OAuth 2パラメーターは単一の値のみを持つことができます:response_type
リクエストの詳細:
scope=https://www.googleapis.com/auth/userinfo.email
client_secret=_____
response_type=code
grant_type=authorization_code
redirect_uri=http://localhost/folder/
client_id=____.apps.googleusercontent.com
code=_____
この2番目のステップのペイロードをPOST https://accounts.google.com/o/oauth2/auth
に送信します
私のリクエストの何が問題になっていますか?
このリクエストに使用する必要のあるhttps://accounts.google.com/o/oauth2/token
URLがあることに気づきました。ただし、そのURLに変更すると、次のようになります。
HTTP/1.0 400 Bad Request
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Fri, 27 Jul 2012 22:44:35 GMT
Content-Type: application/json
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
{
"error" : "invalid_request"
}
response_type
を削除し、上記のようにURLを変更すると、これが解決しました。
認証コードを受け取ったら、「/ o/oauth2/token」にアクセストークンを要求する必要があります。このリクエストは、「scope」および「response_type」パラメータを取りません。詳細については、 Googleドキュメント を参照してください。
いくつかのメソッドを試した後、OAUTH2呼び出しを行うために必要なパラメーターは、redirect_uri、response_type、scope、client_idです。受け取ったエラーレポートに基づいて、oauth呼び出しのデバッグを続けました。