Ниже описаны основные принципы работы с клиентской библиотекой.
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. - Задайте переменные среды.
- Вызовите методы установки для
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\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",
$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
);
}