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