Google Ads API の OAuth 2.0 の内部構造

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

スコープ

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

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

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

オフライン アクセスとトークンの有効期間

Google Ads API クライアント アプリがオフライン アクセスをリクエストすることは一般的です。たとえば、ユーザーがウェブサイトを閲覧していないときに、アプリでバッチジョブを実行したい場合があります。アクセス トークンの有効期間は 3,600 秒(1 時間)です。その後、アプリは更新トークンを新しいアクセス トークンと交換する必要があります。

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

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

リクエスト ヘッダー

Google Ads API へのすべてのリクエストには、リクエスト ヘッダーに OAuth 2.0 アクセス トークンを含める必要があります。以降のセクションでは、gRPC と REST を使用してこれらの認証情報を渡す方法について説明します。

gRPC ヘッダー

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

REST ヘッダー

REST API を使用する場合は、HTTP ヘッダー Authorization: Bearer <ACCESS_TOKEN> を介してアクセス トークンを渡します。HTTP リクエストの例を次に示します。

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   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 "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \