Google Ads API における OAuth2 の具体的な仕組み

Google のクライアント ライブラリでは、以下で説明する処理が自動的に行われるため、バックグラウンドで行われている処理に関心がある場合や、Google のクライアント ライブラリを使用していない場合にのみ、以下をお読みください。

このセクションは、すでに OAuth 2.0 仕様に精通しており、Google API で OAuth2 を使用する方法を理解している上級ユーザーを対象としています。

API での認証の詳細については、

動画ライブラリ: 認証と認可

範囲

1 つのアクセス トークンで複数の API にさまざまなレベルのアクセス権を付与できます。scope という変数パラメータは、アクセス トークンで許可されるリソースとオペレーションのセットを制御します。アクセス トークンのリクエスト中に、アプリは scope パラメータで 1 つ以上の値を送信します。

Google Ads API のスコープは次のとおりです。

https://www.googleapis.com/auth/adwords

オフライン アクセス

Google Ads API クライアント アプリからオフライン アクセスをリクエストするのは、一般的です。たとえば、ユーザーがオンラインでウェブサイトを閲覧していないときに、アプリでバッチジョブを実行する必要が生じることがあります。

ウェブアプリ タイプのオフライン アクセスをリクエストするには、access_type パラメータを offline に設定します。詳細については、Google の OAuth2 ガイドをご覧ください。

デスクトップ アプリの場合、オフライン アクセスはデフォルトで有効になっており、明示的にリクエストする必要はありません。

リクエスト ヘッダー

gRPC ヘッダー

gRPC API を使用する場合は、各リクエストにアクセス トークンを含めます。CredentialChannel にバインドすると、そのチャネルのすべてのリクエストで使用できます。呼び出しごとにカスタマイズされた認証情報を送信することもできます。認可の処理について詳しくは、gRPC 認可ガイドをご覧ください。

REST ヘッダー

REST API を使用する場合は、HTTP ヘッダー Authorization を介してアクセス トークンを渡します。HTTP リクエストのサンプルを以下に示します。

GET /v17/customers/123456789 HTTP/2
Host: googleads.googleapis.com
User-Agent: INSERT_USER_AGENT
Accept: */*
Authorization: Bearer INSERT_ACCESS_TOKEN
developer-token: INSERT_DEVELOPER_TOKEN

アクセス トークンと更新トークン

ほとんどの場合、更新トークンは後で使用するために安全に保存する必要があります。アクセス トークンと更新トークンをリクエストする方法については、アプリケーション タイプに対応するガイドをご覧ください。

更新トークンの有効期限

更新トークンの有効期限の詳細については、Google Identity Platform OAuth ドキュメントをご覧ください。

アクセス トークンの期限切れ

アクセス トークンには有効期限(expires_in 値に基づく)があり、期限が切れるとトークンは無効になります。更新トークンを使用して、期限切れのアクセス トークンを更新できます。クライアント ライブラリでは、期限切れのアクセス トークンはデフォルトで自動的に更新されます。