Kimlik doğrulama ve yetkilendirme

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, 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ğı ve gerekli kimlik bilgilerinin nasıl sağlanacağı 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 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 yetkilendirmek için bir dizi OAuth 2.0 kimlik bilgisi sağlamanız gerekir. Gerekli kimlik bilgisi türü, kullanılan OAuth 2.0 akışına bağlı olarak 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ı hakkında ayrıntılı bilgi 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üşteri kimliği ads.properties dosyanızdaki api.googleads.loginCustomerId anahtarıyla belirtilir.

Yapılandırma

İstemci kitaplığını bir ads.properties dosyası, ortam değişkenleri veya programatik olarak yapılandırabilirsiniz. Bu kılavuzda ads.properties dosyası kullanma üzerinde durulmaktadır. Tüm seçeneklerle ilgili ayrıntılar için Yapılandırma kılavuzu'na 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 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ışını kullanabilirsiniz. Bu iş akışı için iki yapılandırma adımı gerekir:

  1. Google Ads API kullanılarak yönetilecek tüm hesaplara tek bir kullanıcının erişmesini sağlayın. Yaygın bir yaklaşım, kullanıcıya bir Google Ads API yöneticisi hesabına erişim izni vermek ve hedef Google Ads hesaplarının tümünü bu yönetici hesabına bağlamaktır.
  2. Kullanıcı, uygulamanızın kendi adına tüm Google Ads hesaplarını yönetmesine yetki vermek için gcloud CLI gibi bir komut satırı aracı veya GenerateUserCredentials kod ö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ılı kimlik doğrulama iş akışı kılavuzuna 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 kod örneği, kullanıcı kimlik doğrulamasının çalışma zamanında nasıl alınacağını gösteren bir komut satırı aracıdır. Bu araç, kullanıcıların Google Ads hesaplarını kendi adlarına yönetmek için kullanılır. Kullanıcı kimlik doğrulaması gerektiren masaüstü veya web uygulamaları oluşturmak için bu kod örneğini referans olarak kullanabilirsiniz.

Çok kullanıcılı uygulamalarda, uygulamanızın OAuth 2.0 istemci kimliğini ve istemci gizli anahtarını ads.properties'da (veya başka bir yapılandırma deposunda) saklayın. Her son kullanıcının yenileme jetonunu ise uygulama veritabanınızda güvenli bir şekilde saklayın ve UserCredentials ile GoogleAdsClient oluşturulurken ç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ışı rehberine bakın.

Birden çok hesabı yönetme

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:

  1. GetAccountHierarchy kod örneğinde, bir Google Ads yönetici hesabı altındaki tüm hesapların listesinin nasıl alınacağı gösterilmektedir.
  2. ListAccessibleCustomers Kod örneğinde, kullanıcının doğrudan erişebildiği tüm hesapların listesinin nasıl alınacağı gösterilmektedir. Bu hesaplar daha sonra loginCustomerId ayarı 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 karşı geliştirme için yararlı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 bilgilerini kullanmak için api.googleads.useApplicationDefaultCredentials seçeneğini ads.properties dosyanızda true olarak ayarlayın (veya GoogleAdsClient.newBuilder() üzerinde .enableApplicationDefaultCredentials() işlevini çağırın). Uygulama varsayılan kimlik bilgileri kullanılırken istemci kimliği, istemci gizli anahtarı ve yenileme jetonu ayarlanmamalıdır.