जवाब का मेटाडेटा

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 ऑब्जेक्ट पाने के लिए, स्ट्रीम पर दोहराने के बाद stream ऑब्जेक्ट पर 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 ऑब्जेक्ट दिखाते हैं.