Основное использование клиентской библиотеки выглядит следующим образом:
use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V25\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.
Инициализация клиента и сервиса
Для отправки запросов к API Google Ads сначала инициализируйте экземпляр клиента, а затем используйте его для создания клиентского сервиса.
Создайте экземпляр GoogleAdsClient
Наиболее важным классом в PHP-библиотеке Google Ads API является класс GoogleAdsClient . Он позволяет создавать предварительно настроенные объекты клиентских служб, которые можно использовать для выполнения вызовов API. GoogleAdsClient предоставляет несколько способов его настройки и создания экземпляров:
- Используйте файл
google_ads_php.ini. - Установите переменные среды.
- Вызовите методы-сеттеры в
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_REFRESH_TOKEN_HERE')
->build();
// Construct a Google Ads client configured from explicit settings and the
// OAuth 2.0 credentials.
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
// Replace 1234567890 with your login customer ID.
->withLoginCustomerId(1234567890)
->build();
Создать сервис
GoogleAdsClient предоставляет метод-геттер для каждого объекта клиента сервиса. Например, чтобы создать экземпляр CampaignServiceClient , вызовите метод ` $googleAdsClient->getCampaignServiceClient() , как показано в предыдущем примере.
Обработка ошибок
Не каждый вызов API завершается успешно. Сервер может выдавать ошибки, если ваши вызовы API по какой-либо причине не удаются. Важно перехватывать ошибки API и обрабатывать их соответствующим образом.
При возникновении ошибки API генерируется исключение GoogleAdsException . Оно содержит подробную информацию, которая поможет вам выяснить, что пошло не так:
use Google\Ads\GoogleAds\Lib\V25\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",
$googleAdsException->getRequestId(),
PHP_EOL,
PHP_EOL
);
foreach (
$googleAdsException->getGoogleAdsFailure()->getErrors() as $error
) {
printf(
"\t%s: %s%s",
$error->getErrorCode()->getErrorCode(),
$error->getMessage(),
PHP_EOL
);
}
} catch (ApiException $apiException) {
printf(
"ApiException was thrown with message '%s'.%s",
$apiException->getMessage(),
PHP_EOL
);
}