מטא-נתונים של התגובה

ספריית הלקוח של PHP מתעדת ביומן את המטא-נתונים של התגובה, כולל מזהה הבקשה, כברירת מחדל. לחלופין, אפשר לקבל את המטא-נתונים של התגובה באופן פרוגרמטי כשקוראים לשיטות של שירות הלקוח, על ידי הגדרת הפרמטר האופציונלי withResponseMetadata ל-true.

אחרי שקוראים לשיטות של שירות הלקוח, אפשר לקבל מכונה של GoogleAdsResponseMetadata מהאובייקט הרלוונטי (כמו לקוח שירות או סטרימינג), בהתאם לשיטה שקוראים לה. האובייקט הזה מספק את getMetadata() ואת getRequestId(), שמחזירים את מערך המטא-נתונים המלא של התגובה ואת מזהה הבקשה של הקריאה ל-API, בהתאמה. השיטה 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 אחרי איטרציה על הסטרימינג:

$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() באובייקט service client:

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