curl
googleapi

とりあえずGoogle API Acccess Tokenを取得する

More than 1 year has passed since last update.

1. client_id、client_secretの取得

  1. https://console.developers.google.com/flows/enableapi?apiid=geocoding_backend&keyType=SERVER_SIDE&reusekey=true&hl=ja にアクセス
  2. プロジェクトの作成
  3. 認証情報を作成
  4. クライアントIDの作成
  5. 承認済みのリダイレクトURIに https://www.google.co.jp/ を入力
  6. 作成
  7. client_idとclient_secretをメモ

2. 認証コードの取得

  1. client_idの入力
  2. scope(使用する機能)が複数ある場合は%20区切りで入力
    例: https://www.googleapis.com/auth/drive%20https://www.googleapis.com/auth/drive.readonly
    一覧:https://developers.google.com/identity/protocols/googlescopes
  3. ブラウザでアクセスする
認証コード取得URL
https://accounts.google.com/o/oauth2/v2/auth?response_type=code
&client_id={client_id}
&redirect_uri=https://www.google.co.jp/
&scope={scope}
&access_type=offline

以下のようなURLにリダイレクトされるので認証コードをメモ

リダイレクトURL
https://www.google.co.jp/?code={認証コード}#

3. access_tokenの取得

  1. 承認コードの入力
  2. client_idの入力
  3. client_secretの入力
access_tokenの取得
curl \
--data "code={承認コード}" \
--data "client_id={client_id}" \
--data "client_secret={client_secret}" \
--data "grant_type=authorization_code" \
--data "access_type=offline" \
https://www.googleapis.com/oauth2/v4/token

以下のjsonからアクセストークンを取得できる

リターンデータ
{
 "access_token": "{アクセストークン}",
 "token_type": "Bearer",
 "expires_in": 3600,
 "refresh_token": "**"
}