認証

このセクションでは、Google Play Developer API に固有の手順について説明します。詳細については、OAuth2 の完全なドキュメントをご覧ください。

初期設定

Google Play Android Developer API へのアクセスは、OAuth 2.0 ウェブサーバーのフローにより認証されます。API を使用する前に、API Console プロジェクトを設定し、クライアント ID を作成して更新トークンを生成する必要があります。

API Console プロジェクトを作成する

  1. API Console に移動し、Google Play Console アカウントでログインします。
  2. [プロジェクトを作成] を選択します。
  3. 左側のナビゲーション パネルで [サービス] に移動します。
  4. Google Play Android Developer API をオンにします。
  5. 利用規約に同意します。
  6. 左側のナビゲーション パネルで [API アクセス] に移動します。
  7. [OAuth 2.0 クライアント ID を作成] を選択します。
    • 最初のページでは、プロダクト名を入力する必要がありますが、ロゴは不要です。なお、プロダクト名はエンドユーザーに表示されません。
    • 2 番目のページでは、ウェブアプリを選択し、リダイレクト URI と JavaScript のオリジンを設定します。これらの設定はどちらも後で変更できます。
  8. [クライアント ID を作成] を選択します。

更新トークンを生成する

  1. Google Play Console アカウントでログインしたまま、次の URI に移動します。
    https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=...&client_id=...
  2. プロンプトが表示されたら、[アクセスを許可] を選択します。
  3. ブラウザは、code パラメータを含むリダイレクト URI にリダイレクトされます。この URI は 4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI のようになります。
  4. 次のフィールドを設定して POST リクエストを https://accounts.google.com/o/oauth2/token に送信することにより、このコードをアクセス トークンと更新トークンのペアに交換します。
    grant_type=authorization_code
    code=<the code from the previous step>
    client_id=<the client ID token created in the APIs Console>
    client_secret=<the client secret corresponding to the client ID>
    redirect_uri=<the URI registered with the client ID>
    
    成功すると、JSON 形式のトークンを含むレスポンスが返されます。
    {
      "access_token" : "ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM",
      "token_type" : "Bearer",
      "expires_in" : 3600,
      "refresh_token" : "1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho"
    }
    

API にアクセスする

クライアント認証情報と更新トークンを生成すると、サーバーはアクティブなログインまたは人による介入なしに API にアクセスできるようになります。

アクセス トークンを使用する

サーバーは、リクエストの Authorization ヘッダーでアクセス トークンを渡すことにより、API を呼び出します。

Authorization: Bearer oauth2-token

更新トークンを使用する

各アクセス トークンは短期間のみ有効です。現在のアクセス トークンの有効期限が切れたら、サーバーは更新トークンを使用して新しいアクセス トークンを取得する必要があります。そのためには、次のフィールドを設定して POST リクエストを https://accounts.google.com/o/oauth2/token に送信します。

grant_type=refresh_token
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
refresh_token=<the refresh token from the previous step>

成功すると、別のアクセス トークンを含むレスポンスが返されます。

{
  "access_token" : "ya29.AHES3ZQ_MbZCwac9TBWIbjW5ilJkXvLTeSl530Na2",
  "token_type" : "Bearer",
  "expires_in" : 3600,
}

このように、更新トークンを使用することにより、Google アカウントへのアクティブなログインがなくても、ウェブサーバーは継続的に API にアクセスできます。