فراداده‌های پاسخ

کتابخانه کارخواه PHP فراداده پاسخ، ازجمله شناسه درخواست، را به‌طور پیش‌فرض ثبت می‌کند. یا می‌توانید فراداده پاسخ را به‌صورت برنامه‌نویسی‌شده هنگام فراخوانی روش‌های سرویس مشتری با تنظیم پارامتر اختیاری withResponseMetadata روی true دریافت کنید.

پس‌از فراخوانی روش‌های سرویس کارخواه، می‌توانید بسته به روشی که فراخوانی می‌کنید، نمونه GoogleAdsResponseMetadata را از شیء مربوطه (مانند کارخواه سرویس یا جاری‌سازی) دریافت کنید. این شیء getMetadata() و getRequestId() را ارائه می‌دهد که به‌ترتیب آرایه فراداده پاسخ کامل و شناسه درخواست فراخوانی میانای برنامه‌سازی کاربردی را برمی‌گرداند. روش getMetadata() آرایه‌ای را برمی‌گرداند که مانند خروجی زیر ساختار یافته است:

object(Google\Ads\GoogleAds\Lib\V26\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V26\GoogleAdsResponseMetadata":private]=>
  array(17) {
    ["content-disposition"]=>
    array(1) {
      [0]=>
      string(10) "attachment"
    }
    ["request-id"]=>
    array(1) {
      [0]=>
      string(22) "REQUEST_ID"
    }
    ...
  }
}

روش getRequestId() استخراج شناسه درخواست از آرایه فراداده را بدون تجزیه دستی کلیدهای آرایه ساده می‌کند.

بخش‌های زیر نحوه بازیابی GoogleAdsResponseMetadata را برای هر نوع روش توضیح می‌دهد.

SearchStream

برای دریافت شیء GoogleAdsResponseMetadata برای تماس جاری‌سازی، getResponseMetadata() را در شیء جاری‌سازی پس‌از تکرار روی جاری‌سازی فراخوانی کنید:

$stream = $googleAdsServiceClient->searchStream(
    SearchGoogleAdsStreamRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);

foreach ($stream->iterateAllElements() as $googleAdsRow) {
    // Process each row...
}

// Outputs the request ID.
echo $stream->getResponseMetadata()?->getRequestId() . PHP_EOL;

‫$stream->getResponseMetadata() شیء GoogleAdsResponseMetadata را برمی‌گرداند.

روش‌های جستجو و جهش

برای دریافت شیء GoogleAdsResponseMetadata برای تماس‌های تک‌مقداری، getResponseMetadata() را در شیء سرویس مشتری فراخوانی کنید:

// Retrieves objects.
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);

// Outputs the request ID.
echo $googleAdsServiceClient->getResponseMetadata()?->getRequestId() . PHP_EOL;

// Mutates campaigns.
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build($customerId, $campaignOperations),
    ['withResponseMetadata' => true]
);

// Outputs the request ID.
echo $campaignServiceClient->getResponseMetadata()?->getRequestId() . PHP_EOL;

هر دو $campaignServiceClient->getResponseMetadata() و $googleAdsServiceClient->getResponseMetadata() یک شیء GoogleAdsResponseMetadata را برمی‌گردانند.