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ı bir değişken parametre, erişim jetonunun izin verdiği kaynak ve işlemler kümesini kontrol eder. Uygulamanız, erişim jetonu isteği sırasında scope parametresinde bir veya daha fazla değer gönderiyor.

Google Ads API'nin kapsamı şöyledir:

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

Çevrimdışı erişim ve jeton ömürleri

Google Ads API istemci uygulamasının çevrimdışı erişim isteğinde bulunması yaygın bir durumdur. Örneğin, uygulamanız, kullanıcınız fiziksel olarak internete bağlı değilken web sitenize göz atarken toplu işler çalıştırmak isteyebilir. Erişim jetonlarının ömrü 3.600 saniyedir (1 saat). Bu sürenin sonunda uygulamanızın, yeni bir erişim jetonu için yenileme jetonunu 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. Ek bilgileri Google'ın OAuth 2.0 kılavuzunda bulabilirsiniz.

Masaüstü uygulaması türünde, çevrimdışı erişim varsayılan olarak etkindir. Bu nedenle, açıkça istemeniz gerekmez.

İstek başlıkları

Google Ads API'ye yapılan 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 başlıkları

gRPC API'yi kullanırken her isteğe erişim jetonunu ekleyin. Bu kanaldaki tüm isteklerde kullanılmak üzere bir Credential öğesini bir Channel öğesine bağlayabilirsiniz. Ayrıca her çağrı için özelleştirilmiş bir kimlik bilgisi de gönderebilirsiniz. Yetkilendirmeyi işleme hakkında daha fazla bilgiyi gRPC Yetkilendirme Kılavuzu'nda bulabilirsiniz.

REST başlıkları

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

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