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 rehberini 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 bilgilerinin 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ı kullanmaya odaklanılmaktadı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 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
# 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 olarak, kullanıcıya bir Google Ads API yönetici hesabı verilir ve bu yönetici hesabı altındaki tüm Google Ads hesapları bağlanır.
- 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
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
Daha fazla bilgi 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, kullanıcı kimlik doğrulamasının çalışma zamanında nasıl alınacağını gösteren bir komut satırı kodu örneğidir. Bu kimlik doğrulama, kullanıcıların Google Ads hesaplarını kendi adlarına yönetmek için kullanılır. Bu kod örneğini, kullanıcı kimlik doğrulaması gerektiren masaüstü uygulamaları oluştururken 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
Daha fazla bilgi edinmek için çok kullanıcılı kimlik doğrulama iş akışı rehberine 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ğinde, bir kullanıcının doğrudan erişebildiği tüm hesapların listesinin nasıl alınacağı gösterilmektedir.
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 bilgileriyle kimlik doğrulamayı da destekler.
Bu, özellikle yerel geliştirme veya farklı Google API'lerine karşı 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 varsayılan uygulama 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 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.