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ı öneririz.
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. PHP kitaplığı aşağıdaki gibi yapılandırılabilir:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withJsonKeyFilePath('PATH_TO_CREDENTIALS_JSON')
->withScopes('https://www.googleapis.com/auth/adwords')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->build();
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.
Bu kullanıcı daha sonra
GenerateUserCredentialsgibi bir komut satırı aracı çalıştırır.Uygulamanızın, kullanıcıların tüm Google Ads hesaplarını kendi adlarına yönetmesine izin vermek için
Kitaplık, kullanıcının OAuth 2.0 kimlik bilgileri kullanılarak aşağıdaki şekilde başlatılabilir:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
->withClientSecret('INSERT_CLIENT_SECRET')
->withRefreshToken('INSERT_REFRESH_TOKEN')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
Tek kullanıcılı kimlik doğrulama iş akışı kılavuzuna bakın.
sayfasını ziyaret edin.
Ç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:
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID')
->withClientSecret('INSERT_CLIENT_SECRET')
->withRefreshToken('INSERT_REFRESH_TOKEN')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
Çok kullanıcılı kimlik doğrulama iş akışı kılavuzuna bakın.
sayfasını ziyaret edin.
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. PHP istemci kitaplığı, bu tür durumların nasıl ele alınacağını gösteren aşağıdaki kod örneklerini sağlar.
-
kod örneği, bir Google Ads yönetici hesabı altındaki tüm hesapların listesinin nasıl alınacağını gösterir.
-
kod örneği, 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.