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

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

אחרי שקוראים לשיטות שירות לקוחות, אפשר לקבל GoogleAdsResponseMetadata מאובייקט רלוונטי, כמו לקוח שירות או מקור נתונים, בהתאם נקראת 'עלולה'. האובייקט הזה מכיל את getMetadata() ואת getRequestId(), שמחזירים מטא-נתונים של תשובה ואת מזהה הבקשה של הקריאה ל-API, בהתאמה. ה-method getMetadata() מחזירה מערך שנראה כך:

object(Google\Ads\GoogleAds\Lib\V17\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V17\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]
);

// Prints the request ID.
print $stream->getResponseMetadata()->getRequestId() . PHP_EOL;

$stream->getResponseMetadata() הוא אובייקט של GoogleAdsResponseMetadata.

חיפוש ושיטות שינוי אחרות

כדי לקבל אובייקט של GoogleAdsResponseMetadata, צריך להפעיל את getResponseMetadata() באובייקט client:

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

// Prints the request ID.
print $googleAdsServiceClient->getResponseMetadata()->getRequestId() . PHP_EOL;

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

// Prints the request ID.
print $campaignServiceClient->getResponseMetadata()->getRequestId() . PHP_EOL;

$campaignServiceClient->getResponseMetadata() וגם $googleAdsServiceClient->getResponseMetadata() הם אובייקט של GoogleAdsResponseMetadata.