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.
Google Ads erişim modelini anlama
Google Ads API ile etkili bir şekilde çalışmak için Google Ads erişim modelinin nasıl çalıştığını anlamanız gerekir. Google Ads erişim modeli kılavuzunu okumanızı önemle tavsiye ederiz.
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. Kitaplık aşağıdaki gibi yapılandırılır:
// Initialize a GoogleAdsConfig class.
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
LoginCustomerId = ******
};
// Initialize a GoogleAdsClient class.
GoogleAdsClient client = new GoogleAdsClient(config);
Daha fazla bilgi edinmek için hizmet hesabı iş akışı kılavuzuna bakın.
Tek kullanıcılı kimlik doğrulama akışı
Bu iş akışı, hizmet hesaplarını kullanamadığınız durumlarda kullanılabilir. 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 CLI gibi bir araç veya
GenerateUserCredentials
kod örneğini çalıştırır.
Kitaplık, kullanıcının OAuth 2.0 kimlik bilgileri kullanılarak aşağıdaki şekilde başlatılabilir:
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
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 veriyorsa bu iş akışını kullanmanız önerilir. Uygulamanız, OAuth 2.0 kullanıcı kimlik bilgilerini oluşturur ve yönetir. Kitaplık, kullanıcının kimlik bilgileri kullanılarak aşağıdaki şekilde başlatılabilir:
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
Daha fazla bilgi edinmek için çok kullanıcılı kimlik doğrulama iş akışı kılavuzuna bakın. .NET istemci kitaplığı, referans için iki kod örneği içerir:
AuthenticateInAspNetCoreApplication
kod örneği, kullanıcı kimlik doğrulama işlemini çalışma zamanında alarak kullanıcı adına Google Ads hesaplarını yöneten bir web uygulamasının nasıl oluşturulacağını gösterir. Uygulama, kullanıcının Google Ads hesabındaki kampanyaları almak için kullanıcının OAuth 2.0 kimlik bilgilerini kullanır.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 sayede, kullanıcıların Google Ads hesapları onlar adına yönetilebilir. Kullanıcı kimlik doğrulaması gerektiren masaüstü uygulamaları oluşturmak için bu kod örneğini referans olarak kullanabilirsiniz.
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. .NET 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
LoginCustomerId
ayarı için geçerli değerler olarak kullanılabilir.