ข้อมูลเมตาของคำตอบ

ไลบรารีของไคลเอ็นต์ 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 สำหรับการเรียกแบบเอกภาค ให้เรียกใช้ 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