Siêu dữ liệu của phản hồi

Theo mặc định, thư viện ứng dụng PHP sẽ ghi nhật ký siêu dữ liệu phản hồi, bao gồm cả mã nhận dạng yêu cầu. Ngoài ra, bạn có thể nhận 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ụ khách hà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ã nhận dạng 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ư đầu ra sau:

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"
    }
    ...
  }
}

Phương thức getRequestId() giúp đơn giản hoá việc trích xuất mã nhận dạng 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 một lệnh gọi truyền phát trực tiếp, 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ề một đối tượng GoogleAdsResponseMetadata.

Phương thức tìm kiếm và sửa đổi

Để lấy đối tượng GoogleAdsResponseMetadata cho các lệnh gọi đơn phương, hãy gọi getResponseMetadata() trên đối tượng máy khách 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.