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

以下で説明する詳細は、クライアント ライブラリによって自動的に処理されます。そのため、裏で何が起こっているかに関心がある場合、または 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 /v16/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 値に基づく)、期限が過ぎるとトークンは無効になります。更新トークンを使用して、期限切れのアクセス トークンを更新できます。クライアント ライブラリでは、期限切れのアクセス トークンはデフォルトで自動的に更新されます。