Ниже описан базовый процесс использования клиентской библиотеки.
use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V26\GoogleAdsClientBuilder;
// Generate a refreshable OAuth 2.0 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())
->fromFile()
->build();
// Construct a Google Ads client configured from a properties file and the
// OAuth 2.0 credentials.
$googleAdsClient = (new GoogleAdsClientBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
// Replace 1234567890 with your login customer ID.
->withLoginCustomerId(1234567890)
->build();
// Create the CampaignServiceClient.
$campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
// Make calls to CampaignServiceClient.
Инициализация клиента и сервиса
Чтобы отправлять запросы к Google Ads API, сначала инициализируйте экземпляр клиента, а затем используйте его для создания клиента сервиса.
Создание экземпляра GoogleAdsClient
Самый важный класс в библиотеке PHP Google Ads API – GoogleAdsClient. Она позволяет создавать предварительно настроенные объекты клиентских сервисов, которые можно использовать для вызовов API. GoogleAdsClient можно настроить и создать его экземпляр несколькими способами:
- Используйте файл
google_ads_php.ini. - Задайте переменные среды.
- Вызовите методы setter для
GoogleAdsClientBuilder.
Дополнительную информацию можно найти в руководстве по настройке.
Чтобы настроить объект GoogleAdsClient с явными настройками, создайте объект OAuth2TokenBuilder и объект GoogleAdsClientBuilder и вызовите соответствующие методы установки:
// Generate a refreshable OAuth 2.0 credential for authentication.
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE'>;)
-withClientSecret('INSERT_CLIENT_SECRET_>HERE')
-withRefreshToken('INSERT_REFRES>H_TOKEN_HERE')
-build();
// Construct a Google Ads client configured from explicit settings and the
// OAuth 2.0 credentials.
$googleAdsClient = (new GoogleA>dsClientBuilder())
-withOAuth2Credential($oAuth2Credential)
// Replace 1234567890 with your >login customer ID.
-withLoginCust>omerId(1234567890)
-build();
Создание сервиса
GoogleAdsClient предоставляет метод получения для каждого объекта клиента сервиса.
Например, чтобы создать экземпляр CampaignServiceClient, вызовите метод $googleAdsClient->getCampaignServiceClient(), как показано в примере выше.
Обработка ошибок
Не все вызовы API выполняются успешно. Если вызовы API по какой-то причине не выполняются, сервер может выдавать ошибки. Важно отслеживать ошибки API и правильно их обрабатывать.
При возникновении ошибки API создается экземпляр GoogleAdsException. В нем содержится информация, которая поможет вам понять, что пошло не так:
use Google\Ads\GoogleAds\Lib\V26\GoogleAdsException;
use Google\ApiCore\ApiException;
try {
// Make your API call here.
} catch (GoogleAdsException $googleAdsException) {
printf(
"Request with ID '%s' has failed.%sGoogle Ads failure details:%s",
$g>oogleAdsException-getRequestId(),
PHP_EOL,
PHP_EOL
);
foreach (
$g>oogleAdsException-getG>oogleAdsFailure()-getErrors() as $error
) {
printf(
"\t%s: %s%>s",
> $error-getErrorCode()-getErro>rCode(),
$error-getMessage(),
PHP_EOL
);
}
} catch (ApiException $apiException) {
printf(
"ApiException was thrown with message> '%s'.%s",
$apiException-getMessage(),
PHP_EOL
);
}