Google Ads API, diğer Google API'leri gibi kimlik doğrulama ve yetkilendirme için OAuth 2.0 protokolünü kullanır. OAuth 2.0, Google Ads API istemci uygulamanızın, kullanıcının giriş bilgilerini işlemesi veya depolaması gerekmeden kullanıcının Google Ads hesabına erişmesini sağlar.
Bu kılavuzda, gerekli kimlik bilgilerini açıklamanın yanı sıra en yaygın üç OAuth 2.0 akışı kullanılarak Google Ads API kimlik doğrulaması için Java istemci kitaplığının nasıl yapılandırılacağı açıklanmaktadır.
Google Ads API erişim modeli hakkında daha ayrıntılı bilgi edinmek için Google Ads erişim modeli kılavuzunu inceleyin.
Kimlik bilgileri
Google Ads API'ye erişmek için geliştirici jetonu, OAuth 2.0 kimlik bilgileri ve bazı durumlarda giriş müşteri kimliği gerekir.
Geliştirici simgesi
Geliştirici jetonu bir yönetici hesabına bağlıdır ve Google Ads web arayüzünde bulunabilir.
Geliştirici jetonu bir yönetici hesabına bağlı olsa da bu hesaba erişim sağlamaz. Bunun yerine, geliştirici jetonu API'ye genel olarak erişim izni verir ve hesap düzeyinde erişim OAuth 2.0 aracılığıyla yapılandırılır.
İstemci kitaplığında, geliştirici jetonu ads.properties dosyanızdaki api.googleads.developerToken anahtarıyla belirtilir.
OAuth 2.0 kimlik bilgileri
Google Ads hesaplarına erişimi olan Google Hesabı kullanıcıları olarak yetkilendirmek için bir dizi OAuth 2.0 kimlik bilgisi sağlamanız gerekir. Gerekli kimlik bilgilerinin türü, kullanılan OAuth 2.0 akışına göre değişir.
Kitaplık üç akışı destekler:
- Hizmet hesabı akışı
- Tek kullanıcılı kimlik doğrulama akışı
- Çok kullanıcılı kimlik doğrulama akışı
Google Ads API OAuth akışlarıyla ilgili ayrıntılar için OAuth'a Genel Bakış başlıklı makaleyi inceleyin ve gerekli kimlik bilgilerini almak için ihtiyaçlarınıza en uygun akışla ilgili talimatları uygulayın.
Giriş müşteri kimliği
İsteğe bağlı olarak, reklam sunma hesabına erişim sağlayan bir yönetici hesabının müşteri kimliğini belirtin. Müşteri hesabına erişiminiz bir yönetici hesabı üzerinden sağlanıyorsa bu belirtilmelidir. Müşteri kimliğine giden yolda tüm yönetici hesaplarını belirtmeniz gerekmez. Yalnızca erişim izinleri için kullandığınız en üstteki yönetici kimliğini belirtmeniz yeterlidir. Daha fazla bilgi için ilgili belgelere bakın.
İstemci kitaplığında, giriş müşterisi kimliği ads.properties dosyanızdaki api.googleads.loginCustomerId anahtarıyla belirtilir.
Yapılandırma
İstemci kitaplığını ads.properties dosyası, ortam değişkenleri veya programatik olarak yapılandırabilirsiniz. Bu kılavuzda ads.properties dosyasının kullanımı üzerinde durulmaktadır. Tüm seçeneklerle ilgili ayrıntılar için Yapılandırma kılavuzuna bakın.
ads.properties dosyası kullanıyorsanız dosyayı ana dizininize yerleştirin:
~/ads.properties.
OAuth iş akışları
Google Ads API ile çalışırken kullanılan üç yaygın iş akışı vardır.
Hizmet hesabı akışı
İş akışınızda herhangi bir kullanıcı etkileşimi gerekmiyorsa bu iş akışını kullanmanız önerilir. Bu iş akışı, kullanıcının Google Ads hesabına hizmet hesabı eklediği bir yapılandırma adımı gerektirir. Uygulama daha sonra hizmet hesabının kimlik bilgilerini kullanarak kullanıcının Google Ads hesabını yönetebilir.
Özel anahtar JSON dosyasını aldıktan sonra ads.properties dosyanıza aşağıdakileri ekleyin:
api.googleads.serviceAccountSecretsPath=PRIVATE_KEY_JSON_FILE_PATH
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
# Only add this key if you are using impersonation to access an account
# other than the service account itself.
# api.googleads.serviceAccountUser=USER_EMAIL_TO_IMPERSONATE
Daha fazla bilgi edinmek için hizmet hesabı iş akışı kılavuzuna bakın.
Tek kullanıcılı kimlik doğrulama akışı
Hizmet hesaplarını kullanamıyorsanız bu iş akışını kullanabilirsiniz. Bu iş akışı için iki yapılandırma adımı gerekir:
- Google Ads API kullanılarak yönetilecek tüm hesaplara tek bir kullanıcının erişmesini sağlayın. Genel bir yaklaşım, kullanıcıya bir Google Ads API yönetici hesabı vermek ve bu yönetici hesabı altındaki tüm Google Ads hesaplarını bağlamaktır.
- Kullanıcı, uygulamanızın kendi adına tüm Google Ads hesaplarını yönetmesine yetki vermek için gcloud gibi bir komut satırı aracı veya
GenerateUserCredentialskod örneğini çalıştırır.
Bu kimlik bilgilerini aldıktan sonra ads.properties dosyanıza aşağıdakileri ekleyin:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
Daha fazla bilgi edinmek için tek kullanıcılı kimlik doğrulama iş akışı rehberine bakın.
Çok kullanıcılı kimlik doğrulama akışı
Uygulamanızın, kullanıcıların oturum açmasına ve Google Ads hesaplarını kendi adlarına yönetmek için uygulamanıza yetki vermesine izin vermesi durumunda bu iş akışını kullanmanız önerilir. GenerateUserCredentials, kullanıcı kimlik doğrulamasını çalışma zamanında alarak Google Ads hesaplarını onlar adına yönetmeyi gösteren bir komut satırı kodu örneğidir. Kullanıcı kimlik doğrulaması gerektiren masaüstü uygulamaları oluşturmak için bu kod örneğini referans olarak kullanabilirsiniz.
ads.properties dosyanıza aşağıdakileri ekleyin:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE
Daha fazla bilgi edinmek için çok kullanıcılı kimlik doğrulama iş akışı kılavuzuna bakın.
Kullanıcım birden fazla hesap yönetiyorsa ne olur?
Kullanıcıların, hesaplara doğrudan erişerek veya bir Google Ads yönetici hesabı üzerinden birden fazla Google Ads hesabını yönetmesi yaygın bir durumdur. Java istemci kitaplığı, bu tür durumların nasıl ele alınacağını gösteren aşağıdaki kod örneklerini sağlar.
- GetAccountHierarchy kod örneği, bir Google Ads yönetici hesabı altındaki tüm hesapların listesinin nasıl alınacağını gösterir.
- ListAccessibleCustomers kod örneği, bir kullanıcının doğrudan erişebildiği tüm hesapların listesinin nasıl alınacağını gösterir.
Bu hesaplar daha sonra
LoginCustomerIdayarı için geçerli değerler olarak kullanılabilir.
Uygulama varsayılan kimlik bilgileri
Java istemci kitaplığı, uygulama varsayılan kimlik bilgileri ile kimlik doğrulamayı da destekler.
Bu, özellikle yerel geliştirme veya farklı Google API'lerine yönelik geliştirme için yararlıdır. Doğru OAuth 2.0 kapsamlarına erişebildikleri sürece aynı kimlik bilgilerini yeniden kullanabilirsiniz.
Google Ads API için, uygulamanızın varsayılan kimlik bilgilerinin https://www.googleapis.com/auth/adwords OAuth 2.0 kapsamına erişebildiğinden emin olun.
Uygulama varsayılan kimlik bilgilerini kullanmak için ads.properties dosyanızda api.googleads.useApplicationDefaultCredentials seçeneğini true olarak ayarlayın. Uygulama varsayılan kimlik bilgileri kullanılırken istemci kimliği, istemci gizli anahtarı ve yenileme jetonu ayarlanmamalıdır.