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

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

スコープ

単一のアクセス トークンで、複数の 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 リクエストの例を次に示します。

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \