Google Ads API için OAuth 2.0 İç İşleyişi

Bu bölüm, OAuth 2.0 spesifikasyonunu bilen ve Google API'leriyle OAuth 2.0'ı kullanmayı 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

Google Ads API istemci uygulamasının çevrimdışı erişim istemesi yaygın bir durumdur. Örneğin, uygulamanız, kullanıcınız web sitenize göz atarken fiziksel olarak internete bağlı değilse toplu işler çalıştırmak isteyebilir.

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 OAuth2 kılavuzunda bulabilirsiniz.

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

İstek başlıkları

gRPC üstbilgileri

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. Her çağrı için özelleştirilmiş bir kimlik bilgisi de gönderebilirsiniz. Yetkilendirme işlemleri hakkında daha fazla bilgiyi gRPC Yetkilendirme Kılavuzu'nda bulabilirsiniz.

REST üstbilgileri

REST API'yi kullanırken erişim jetonunu HTTP üst bilgisi Authorization aracılığıyla 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,
#   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}" \