PHP 客户端库会记录响应
元数据(包括请求 ID)。或者,您可以获取
调用客户端服务方法时以编程方式响应元数据,
将可选参数 withResponseMetadata 设置为 true。
调用客户端服务方法后,您可以获取
GoogleAdsResponseMetadata、
而是从相关的对象(如服务客户端或数据流)
方法。此对象包含 getMetadata() 和 getRequestId(),
它们分别返回 API 调用的响应元数据和请求 ID。
getMetadata() 方法会返回如下所示的数组:
object(Google\Ads\GoogleAds\Lib\V22\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V22\GoogleAdsResponseMetadata":private]=>
  array(17) {
    ["content-disposition"]=>
    array(1) {
      [0]=>
      string(10) "attachment"
    }
    ["request-id"]=>
    array(1) {
      [0]=>
      string(22) "REQUEST_ID"
    }
    ...
  }
}
getRequestId() 方法可简化提取请求 ID 的过程
从元数据数组中复制数据,从而免去手动解析的麻烦。
以下部分介绍了如何检索以下内容的 GoogleAdsResponseMetadata:
。
SearchStream
如需获取 GoogleAdsResponseMetadata 的对象,请调用 getResponseMetadata()
针对 stream 对象执行下列操作:
$stream = $googleAdsServiceClient->searchStream(
    SearchGoogleAdsStreamRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);
// Prints the request ID.
print $stream->getResponseMetadata()->getRequestId() . PHP_EOL;
$stream->getResponseMetadata() 是以下对象的对象:
GoogleAdsResponseMetadata。
Search 和其他 mutate 方法
如需获取 GoogleAdsResponseMetadata 的对象,请调用 getResponseMetadata()
针对 client 对象执行如下操作:
// Retrieves objects.
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);
// Prints the request ID.
print $googleAdsServiceClient->getResponseMetadata()->getRequestId() . PHP_EOL;
// Mutates campaigns.
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build($customerId, $campaignOperations),
    ['withResponseMetadata' => true]
);
// Prints the request ID.
print $campaignServiceClient->getResponseMetadata()->getRequestId() . PHP_EOL;
$campaignServiceClient->getResponseMetadata() 和
$googleAdsServiceClient->getResponseMetadata()是
GoogleAdsResponseMetadata。