Using OAuth 2.0 for Installed Applicationsで説明した手順に従って、私は自分のアプリケーションの認証コードを取得できました。アプリケーションのみを使用して(新しいaccess_tokenはを取得する必要がありますよう、 http://image.prntscr.com/image/bcda26f2ee12463e80e4fdd9401380da.pngGoogle API OAuth2 - 承認トークンからリフレッシュトークンを取得
私は「その他」タイプを使用しています:
は、私はGoogleのデベロッパーコンソールでOAuth 2.0のクライアントIDとして自分のアプリケーションを登録していますrefresh_token)、いかなるタイプのユーザー同意も使用しません。
プライベートアプリケーションであるため、セキュリティは重要ではありません。
スプレッドシートを読み書きし、スプレッドシートにリンクされているGoogle Appsスクリプトを実行する必要があります。
これはGoogle's OAuth 2.0 Playgroundによると、「https://www.googleapis.com/auth/spreadsheets」範囲内で可能なすべてのです:私は(thisステップ以下)は、以下の要求を使用して、認証コードの上に私の手を取得することができた
http://image.prntscr.com/image/a506d2095be1472aa1807a52b01ab1f1.png
:私のブラウザにこのURLを貼り付ける
https://accounts.google.com/o/oauth2/v2/auth?
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets&
redirect_uri=urn:ietf:wg:oauth:2.0:oob&
response_type=code&
client_id=#####.apps.googleusercontent.com
、それは、このページに私をリダイレクト:
http://image.prntscr.com/image/64ccfc9a63be4cb985163c0e3ba0c8ef.png
私は理論的には、refresh_tokenとaccess_tokenはと交換することができ、認証コードを得ているこの方法です。
私はrefresh_tokenとaccess_tokenはのための認証コードを交換する際にGoogleのOAuth 2.0プレイグラウンドがありません要求模倣しようとした:
http://image.prntscr.com/image/54e7e7da18f044c3a86e2a05b51ba830.png
それは、次のURLにPOSTリクエストを送信します。
https://www.googleapis.com/oauth2/v3/token?
code={auth_code}&
redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&
client_id=#####.apps.googleusercontent.com&
client_secret=#####&
scope=&
grant_type=authorization_code
を このリクエストを実行しようとすると、次のレスポンスでERROR 400が返されます。
{"error": "invalid_request", "error_description": "Invalid parameter value for redirect_uri: Missing scheme: {redirect_uri}}
redirect_uriに「スキームがありません」というエラーが表示されます。 アプリケーションタイプが「その他」であり、はそのタイプのリダイレクトURIを承認できないため、これは私の意見では奇妙ではありません。
私は(私が欲しいものまさにである)OAuth2ForDevicesを試してみましたが、私は、Googleのスプレッドシートのためにそれを使用することはできません。
クライアントIDタイプ「その他」(Googleスプレッドシートで使用可能)で取得した認証コードを使用してrefresh_token(およびaccess_token)を取得する正しい方法は何ですか?