Theo mặc định, thư viện ứng dụng PHP ghi nhật ký siêu dữ liệu phản hồi, bao gồm cả mã yêu cầu. Ngoài ra, bạn có thể lấy siêu dữ liệu phản hồi theo phương thức lập trình khi gọi các phương thức dịch vụ ứng dụng bằng cách đặt tham số không bắt buộc withResponseMetadata thành true.
Sau khi gọi các phương thức dịch vụ ứng dụng, bạn có thể lấy một thực thể GoogleAdsResponseMetadata từ đối tượng có liên quan (chẳng hạn như ứng dụng dịch vụ hoặc luồng) tuỳ thuộc vào phương thức bạn gọi.
Đối tượng này cung cấp getMetadata() và getRequestId(), lần lượt trả về mảng siêu dữ liệu phản hồi đầy đủ và mã yêu cầu của lệnh gọi API. Phương thức getMetadata() trả về một mảng có cấu trúc như kết quả sau:
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"
}
...
}
}
Phương thức getRequestId() giúp đơn giản hoá việc trích xuất mã yêu cầu từ mảng siêu dữ liệu mà không cần phân tích cú pháp các khoá mảng theo cách thủ công.
Các phần sau đây giải thích cách truy xuất GoogleAdsResponseMetadata cho
từng loại phương thức.
SearchStream
Để lấy đối tượng GoogleAdsResponseMetadata cho lệnh gọi trực tuyến, hãy gọi getResponseMetadata() trên đối tượng stream sau khi lặp lại trên luồng:
$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() trả về đối tượng GoogleAdsResponseMetadata.
Phương thức tìm kiếm và thay đổi
Để lấy đối tượng GoogleAdsResponseMetadata cho các lệnh gọi một ngôi, hãy gọi getResponseMetadata() trên đối tượng ứng dụng dịch vụ:
// 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;
Cả $campaignServiceClient->getResponseMetadata() và $googleAdsServiceClient->getResponseMetadata() đều trả về một đối tượng GoogleAdsResponseMetadata.