响应元数据

默认情况下,PHP 客户端库会记录响应元数据(包括请求 ID)。或者,您也可以在调用客户端服务方法时以编程方式获取响应元数据,方法是将可选参数 withResponseMetadata 设置为 true

调用客户端服务方法后,您可以根据调用的方法从相关对象(如服务客户端或数据流)中获取 GoogleAdsResponseMetadata。此对象包含 getMetadata()getRequestId(),它们分别返回响应元数据和 API 调用的请求 ID。getMetadata() 方法会返回如下所示的数组:

object(Google\Ads\GoogleAds\Lib\V17\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V17\GoogleAdsResponseMetadata":private]=>
  array(17) {
    ["content-disposition"]=>
    array(1) {
      [0]=>
      string(10) "attachment"
    }
    ["request-id"]=>
    array(1) {
      [0]=>
      string(22) "REQUEST_ID"
    }
    ...
  }
}

getRequestId() 方法简化了从元数据数组中提取请求 ID 的过程,让您无需手动解析请求 ID。

以下部分介绍了如何检索每种方法的 GoogleAdsResponseMetadata

SearchStream

如需获取 GoogleAdsResponseMetadata 的对象,请对 stream 对象调用 getResponseMetadata()

$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 的对象,请对 client 对象调用 getResponseMetadata()

// 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 的对象。