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

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

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