Google Ads API'yi çağırırken hem OAuth 2.0 kimlik bilgilerine hem de geliştirici jetonuna ihtiyacınız vardır. Google Ads yönetici hesabıyla API çağrıları yapıyorsanız her istekle birlikte bir login-customer-id üstbilgisi de belirtmeniz gerekir. Bu sayfada, bu değerlerin nasıl ayarlanacağı açıklanmakta ve REST arayüzü kullanılırken gönderilen ve alınan API'ye özgü çeşitli ek HTTP üstbilgileri belgelenmektedir.
OAuth 2.0 kimlik bilgileri
Google Ads API, API isteklerini yetkilendirmek için OAuth 2.0'ı kullanır. Hem OAuth 2.0 kullanıcı kimlik doğrulama akışı hem de hizmet hesabı akışı desteklenir. Daha fazla bilgi için Google Ads API'de OAuth 2.0 başlıklı makaleyi inceleyin.
Google API'lerini yeni kullanmaya başladıysanız uygulamanız için kod yazmadan önce OAuth 2.0 kimlik bilgileri ve Google Ads API ile denemeler yapmak için gcloud CLI veya OAuth 2.0 Playground'u kullanabilirsiniz.
OAuth 2.0 yetkilendirme iş akışlarını uygulamak için https://oauth.net/code/ adresinde bulunan OAuth 2.0 kitaplıklarından birini kullanmanızı öneririz. Ancak, kendiniz uygulamanız gerekebileceği için curl talimatlarını listeledik.
Hizmet hesapları
Google Ads API için Google Cloud projesi yapılandırma adımlarını uygulayın. Hizmet hesabı e-postasını ve hizmet hesabı anahtarını kaydedin. Ardından, Google Ads hesabınıza erişmek için hizmet hesabını oluşturmak üzere Hizmet Hesapları kılavuzundaki genel talimatları uygulayın.
Kullanıcı kimlik doğrulaması
Google Ads API için Google Cloud Console projesi yapılandırma adımlarını uygulayın. İstemci kimliğini ve istemci gizli anahtarını kaydedin. Ardından, masaüstü uygulaması akışı talimatlarını veya web uygulaması akışı talimatlarını uygulayarak yenileme jetonu ve erişim jetonu oluşturun. Google Ads API erişimi için scope kullanılmalıdır.
https://www.googleapis.com/auth/adwords
Yeni erişim jetonları oluşturma
Hizmet hesapları
Hizmet hesabı e-posta adresine ve hizmet hesabı anahtarına sahip olduğunuzda, Sunucudan Sunucuya Uygulamalar için OAuth 2.0'ı Kullanma rehberindeki talimatları uygulayarak JWT talebi kümesi oluşturun. Bu küme daha sonra OAuth 2.0 erişim jetonu almak için kullanılabilir. Rehberi uygularken HTTP/REST sekmesini seçtiğinizden emin olun. Google Ads API erişimi için kullanılacak OAuth 2.0 scope, https://www.googleapis.com/auth/adwords şeklindedir. Ayrıca, JWT talebi kümesini oluştururken sub parametresini atlayabilirsiniz. Çünkü kurulum adımları, hizmet hesabına Google Ads hesabına doğrudan erişim izni verir. Böylece, bir Google Ads kullanıcısının kimliğine bürünme ihtiyacı ortadan kalkar.
Ardından, Google Ads API'ye yapılan her API çağrısının Authorization HTTP üstbilgisinde erişim jetonunu kullanırsınız:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
Kullanıcı kimlik doğrulaması
OAuth 2.0 istemci kimliğiniz, istemci gizli anahtarınız ve yenileme jetonunuz olduğunda, curl komut satırı aracıyla API çağrılarında kullanılacak yeni bir erişim jetonu oluşturabilirsiniz:
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/tokenArdından, Google Ads API'ye yapılan her API çağrısının Authorization HTTP üstbilgisinde curl isteği tarafından döndürülen erişim jetonunu kullanırsınız:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
İstek başlıkları
Geliştirici simgesi
Google Ads API'nin API'ye çağrı yapabilmesi için geliştirici jetonu da gerekir. Geliştirici jetonunuz varsa https://ads.google.com/aw/apicenter adresine giderek jetonunuzu bulabilirsiniz. İstenirse Google Ads yönetici hesabınızda oturum açın. Hesabınız yoksa geliştirici jetonuna kaydolma talimatlarını uygulayın.
Google Ads API'ye yapılan her API çağrısının developer-token HTTP üstbilgisinde geliştirici jetonu değerinizi eklemeniz gerekir:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
Giriş müşteri kimliği
Bir yönetici tarafından bir müşteri hesabına yapılan Google Ads API çağrıları için (yani, bir yöneticinin müşteri hesaplarından birine API çağrıları yapmak üzere giriş yapması durumunda) login-customer-id HTTP üstbilgisini de sağlamanız gerekir. Bu değer, API çağrısı yapan yöneticinin Google Ads müşteri kimliğini temsil eder.
Bu başlığı eklemek, oturum açtıktan sonra Google Ads kullanıcı arayüzünde bir hesap seçmeye veya sayfanın sağ üst köşesindeki profil resminizi tıklamaya eşdeğerdir. Müşteri kimliğini belirtirken kısa çizgileri (—) kaldırdığınızdan emin olun.
Örneğin: 1234567890, 123-456-7890 değil. Giriş müşteri kimliği hakkında daha fazla bilgi edinmek için Google Ads erişim modeli rehberine bakın.
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
Bağlı müşteri kimliği
Bağlı müşteri kimliği üstbilgisi, yalnızca [third-party app analytics providers dönüşümleri bir bağlı Google Ads hesabına yüklerken kullanılır. Daha fazla bilgi için API Çağrısı Yapısı Kılavuzu'na bakın.
...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID
Yanıt başlıkları
Aşağıdaki başlıklar, API'den gelen HTTP yanıtlarında döndürülür.
Talep numarası
request-id, API isteğini benzersiz şekilde tanımlayan bir dizedir. Belirli API çağrılarıyla ilgili sorunları ayıklarken veya giderirken request-id, Google geliştirici destek ekibiyle iletişime geçerken elinizin altında bulundurmanız gereken önemli bir tanımlayıcıdır.
request-id: 2a5Cj89VV7CNhya1DZjjrC