استفاده اساسی

کاربرد اصلی کتابخانه کلاینت به شرح زیر است:

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 گوگل ادز، ابتدا یک نمونه کلاینت را مقداردهی اولیه کنید و سپس از آن برای ایجاد یک کلاینت سرویس استفاده کنید.

یک نمونه GoogleAdsClient ایجاد کنید

مهم‌ترین کلاس در کتابخانه PHP 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 برای هر شیء سرویس کلاینت یک متد getter ارائه می‌دهد. برای مثال، برای ایجاد یک نمونه از CampaignServiceClient ، متد $googleAdsClient->getCampaignServiceClient() را همانطور که در مثال قبل نشان داده شده است، فراخوانی کنید.

مدیریت خطا

هر فراخوانی API موفق نمی‌شود. اگر فراخوانی‌های API شما به هر دلیلی با شکست مواجه شوند، سرور می‌تواند خطا صادر کند. مهم است که خطاهای API را ثبت کرده و به طور مناسب آنها را مدیریت کنید.

یک نمونه GoogleAdsException زمانی ایجاد می‌شود که یک خطای API رخ دهد. این نمونه شامل جزئیاتی است که به شما کمک می‌کند بفهمید چه چیزی اشتباه رخ داده است:

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