レスポンスのメタデータ

PHP クライアント ライブラリは、デフォルトでリクエスト ID などのレスポンス メタデータをロギングします。また、オプション パラメータ withResponseMetadatatrue に設定して、クライアント サービス メソッドを呼び出すときにレスポンス メタデータをプログラムで取得することもできます。

クライアント サービス メソッドを呼び出した後、呼び出すメソッドに応じて、サービス クライアントやストリームなどの関連オブジェクトから GoogleAdsResponseMetadata を取得できます。このオブジェクトには、getMetadata()getRequestId() が含まれます。これらは、レスポンス メタデータと API 呼び出しのリクエスト ID をそれぞれ返します。getMetadata() メソッドは次のような配列を返します。

object(Google\Ads\GoogleAds\Lib\V19\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V19\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 = $googleAdsServiceClient->searchStream(
    SearchGoogleAdsStreamRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);

// Prints the request ID.
print $stream->getResponseMetadata()->getRequestId() . PHP_EOL;

$stream->getResponseMetadata()GoogleAdsResponseMetadata のオブジェクトです。

検索とその他のミューテーション メソッド

GoogleAdsResponseMetadata のオブジェクトを取得するには、クライアント オブジェクトで 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 のオブジェクトです。