Diğer Google API'leri gibi Google Ads API de 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şlemesine veya saklamasına gerek kalmadan kullanıcının Google Ads hesabına erişmesini sağlar.
Bu kılavuzda, en yaygın üç OAuth 2.0 akışını kullanarak Google Ads API kimlik doğrulaması için Java istemci kitaplığının nasıl yapılandırılacağı ve gerekli kimlik bilgileri açıklanmaktadır.
Google Ads API erişim modeli hakkında daha ayrıntılı bilgi için Google Ads erişim modeli kılavuzunu okuyun.
Kimlik bilgileri
Google Ads API'ye erişmek için OAuth 2.0 kimlik bilgileri ve bazı durumlarda giriş müşteri kimliği gerekir.
OAuth 2.0 kimlik bilgileri
Google Ads hesaplarına erişimi olan Google Hesabı kullanıcıları olarak yetkilendirme yapmak için bir OAuth 2.0 kimlik bilgisi grubu 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ış bölümünü 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 değer belirtilmelidir. Müşteri kimliğine giden yoldaki 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ş yapan müşteri kimliği ads.properties dosyanızdaki api.googleads.loginCustomerId anahtarı tarafından belirtilir.
Yapılandırma
İstemci kitaplığını bir ads.properties dosyasıyla, ortam değişkenleriyle veya programatik olarak yapılandırabilirsiniz. Bu kılavuzda, ads.properties
dosyası kullanma konusu ele alınmaktadı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ız insan etkileşimi gerektirmiyorsa önerilen iş akışı budur. Bu iş akışı, kullanıcının Google Ads hesabına bir hizmet hesabı eklediği bir yapılandırma adımı gerektirir. Uygulama, kullanıcının Google Ads hesabını yönetmek için hizmet hesabının kimlik bilgilerini kullanabilir.
Özel anahtar JSON dosyasını aldıktan sonra ads.properties dosyanıza aşağıdakileri ekleyin:
api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE
# Only add this key if you are using Google Workspace domain-wide delegation
# to impersonate a user who has access to the Google Ads account.
# api.googleads.serviceAccountUser=USER_EMAIL_TO_IMPERSONATE
Daha fazla bilgi edinmek için hizmet hesabı iş akışı kılavuzunu inceleyin.
Tek kullanıcılı kimlik doğrulama akışı
Hizmet hesaplarını kullanamıyorsanız bu iş akışından yararlanabilirsiniz. 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ıya erişim izni verin. Yaygın bir yaklaşım, kullanıcıya bir Google Ads API yönetici hesabına erişim izni vermek ve tüm hedef Google Ads hesaplarını bu yönetici hesabına bağlamaktır.
- Kullanıcı, uygulamanızın tüm Google Ads hesaplarını kendi adına yönetmesine yetki vermek için
gcloudCLI gibi bir komut satırı aracı veyaGenerateUserCredentialskod ö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
Daha fazla bilgi edinmek için tek kullanıcı kimlik doğrulama iş akışı kılavuzuna bakın.
Çok kullanıcılı kimlik doğrulama akışı
Uygulamanız, kullanıcıların oturum açmasına ve uygulamanızı kendi adlarına Google Ads hesaplarını yönetmesi için yetkilendirmesine izin veriyorsa önerilen iş akışı budur. GenerateUserCredentials kod örneği, kullanıcıların Google Ads hesaplarını onlar adına yönetmek için çalışma zamanında kullanıcı kimlik doğrulamasının nasıl alınacağını gösteren bir komut satırı aracıdır. Bu kod örneğini, kullanıcı kimlik doğrulaması gerektiren masaüstü veya web uygulamaları oluşturmak için referans olarak kullanabilirsiniz.
Çok kullanıcılı uygulamalarda, uygulamanızın OAuth 2.0 istemci kimliğini ve istemci gizli anahtarını ads.properties (veya başka bir yapılandırma deposunda) saklayın. Her son kullanıcının yenileme jetonunu uygulama veritabanınızda güvenli bir şekilde saklayın ve UserCredentials ile GoogleAdsClient oluştururken çalışma zamanında programatik olarak iletin:
api.googleads.clientId=INSERT_CLIENT_ID_HERE
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
Daha fazla bilgi edinmek için çok kullanıcılı kimlik doğrulama iş akışı kılavuzuna bakın.
Birden çok hesabı yönetme
Kullanıcıların, hesaplara doğrudan erişim veya Google Ads yönetici hesabı aracılığıyla 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:
GetAccountHierarchykod örneği, bir Google Ads yönetici hesabındaki tüm hesapların listesinin nasıl alınacağını gösterir.ListAccessibleCustomerskod ö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 sonraloginCustomerIdayarı 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'leri için geliştirme yaparken kullanışlıdır. Gerekli OAuth 2.0 kapsamlarına erişebildikleri sürece aynı kimlik bilgilerini yeniden kullanabilirsiniz.
Google Ads API için Uygulama Varsayılan Kimlik Bilgilerinizin https://www.googleapis.com/auth/adwords OAuth 2.0 kapsamına erişebildiğinden emin olun.
Uygulama Varsayılan Kimlik Bilgileri'ni kullanmak için ads.properties dosyanızda api.googleads.useApplicationDefaultCredentials seçeneğini true olarak ayarlayın (veya GoogleAdsClient.newBuilder() üzerinde .enableApplicationDefaultCredentials() yöntemini çağırın). Uygulama Varsayılan Kimlik Bilgileri kullanılırken istemci kimliği, istemci gizli anahtarı ve yenileme jetonu ayarlanmamalıdır.