Google Ads API için OAuth 2.0'ın iç işleyişi

Bu bölüm, OAuth 2.0 spesifikasyonuna aşina olan ve Google API'leriyle OAuth 2.0'ı nasıl kullanacağını bilen ileri düzey kullanıcılar için hazırlanmıştır.

Kapsam

Tek bir erişim jetonu, birden fazla API'ye farklı düzeylerde erişim izni verebilir. scope adlı değişken parametre, erişim jetonunun izin verdiği kaynak ve işlem grubunu kontrol eder. Erişim jetonu isteği sırasında uygulamanız, scope parametresinde bir veya daha fazla değer gönderir.

Google Ads API'nin kapsamı şöyledir:

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

Çevrimdışı erişim ve jeton kullanım süreleri

Google Ads API istemci uygulamalarının çevrimdışı erişim istemesi yaygın bir durumdur. Örneğin, uygulamanız, kullanıcınız web sitenizde fiziksel olarak gezinmediği zamanlarda toplu işler çalıştırmak isteyebilir. Erişim jetonlarının kullanım ömrü 3.600 saniyedir (1 saat). Bu sürenin sonunda uygulamanızın, yenileme jetonunu yeni bir erişim jetonuyla değiştirmesi gerekir.

Bir web uygulaması türü için çevrimdışı erişim isteğinde bulunmak istiyorsanız access_type parametresini offline olarak ayarladığınızdan emin olun. Google'ın OAuth 2.0 kılavuzunda daha fazla bilgi bulabilirsiniz.

Masaüstü uygulaması türü için çevrimdışı erişim varsayılan olarak etkindir. Bu erişimi açıkça istemeniz gerekmez.

İstek başlıkları

Google Ads API'ye gönderilen tüm istekler, istek başlığında OAuth 2.0 erişim jetonunu içermelidir. Aşağıdaki bölümlerde, bu kimlik bilgilerinin gRPC ve REST kullanılarak nasıl iletileceği açıklanmaktadır.

gRPC üstbilgileri

gRPC API'yi kullanırken her isteğe erişim jetonunu ekleyin. Bir Credential öğesini, ilgili kanaldaki tüm isteklerde kullanılmak üzere bir Channel öğesine bağlayabilirsiniz. Ayrıca her çağrı için özelleştirilmiş bir kimlik bilgisi de gönderebilirsiniz. gRPC Yetkilendirme kılavuzu, yetkilendirme işlemleri hakkında daha fazla bilgi içerir.

REST üstbilgileri

REST API'yi kullanırken erişim jetonunu HTTP üstbilgisi Authorization: Bearer <ACCESS_TOKEN> üzerinden iletin. Örnek bir HTTP isteği gösterilir:

# 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}" \