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

Google のクライアント ライブラリでは、以下で説明する処理が自動的に行われます。ですから、クライアント ライブラリを使用しない場合や具体的な仕組みに関心がある場合にのみ読み進めてください。

このセクションは、すでに OAuth 2.0 の仕様に精通しており、Google の API における OAuth2. の使い方を理解されている上級者向けの説明です。

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

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

範囲

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

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 /v19/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 の値に基づく)、期限が過ぎるとトークンが無効になります。更新トークンを使用して、期限切れのアクセス トークンを更新できます。クライアント ライブラリでは、期限切れのアクセス トークンはデフォルトで自動的に更新されます。