Основное использование

Основное использование клиентской библиотеки выглядит следующим образом:

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
    );
}