البيانات الوصفية للردّ

تسجّل مكتبة برامج PHP العميلة البيانات الوصفية للاستجابة، بما في ذلك معرّف الطلب، تلقائيًا. بدلاً من ذلك، يمكنك الحصول على البيانات الوصفية للردّ آليًا عند استدعاء طرق خدمة العميل من خلال ضبط المَعلمة الاختيارية withResponseMetadata على true.

بعد استدعاء طرق خدمة العميل، يمكنك الحصول على مثيل GoogleAdsResponseMetadata من العنصر ذي الصلة (مثل عميل خدمة أو بث) استنادًا إلى الطريقة التي تستدعيها. يوفّر هذا العنصر getMetadata() وgetRequestId()، اللذين يعرضان مصفوفة البيانات الوصفية الكاملة للاستجابة ومعرّف الطلب الخاص بطلب البيانات من واجهة برمجة التطبيقات، على التوالي. تعرض الطريقة getMetadata() مصفوفة منظَّمة مثل الناتج التالي:

object(Google\Ads\GoogleAds\Lib\V25\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V25\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 بعد تكرار البث:

$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.