응답 메타데이터

PHP 클라이언트 라이브러리는 기본적으로 요청 ID를 포함한 응답 메타데이터를 로깅합니다. 또는 선택적 매개변수 withResponseMetadata를 true로 설정하여 클라이언트 서비스 메서드를 호출할 때 프로그래매틱 방식으로 응답 메타데이터를 가져올 수 있습니다.

클라이언트 서비스 메서드를 호출한 후 호출한 메서드에 따라 관련 객체 (예: 서비스 클라이언트 또는 스트림)에서 GoogleAdsResponseMetadata 인스턴스를 가져올 수 있습니다. 이 객체는 각각 전체 응답 메타데이터 배열과 API 호출의 요청 ID를 반환하는 getMetadata() 및 getRequestId()를 제공합니다. getMetadata() 메서드는 다음과 같은 출력으로 구성된 배열을 반환합니다.

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

getRequestId() 메서드를 사용하면 배열 키를 수동으로 파싱하지 않고도 메타데이터 배열에서 요청 ID를 간단하게 추출할 수 있습니다.

다음 섹션에서는 각 메서드 유형에 대해 GoogleAdsResponseMetadata를 가져오는 방법을 설명합니다.

SearchStream

스트리밍 호출의 GoogleAdsResponseMetadata 객체를 가져오려면 스트림을 반복한 후 stream 객체에서 getResponseMetadata()를 호출합니다.

$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()은 GoogleAdsResponseMetadata 객체를 반환합니다.

검색 및 변이 메서드

단항 호출의 GoogleAdsResponseMetadata 객체를 가져오려면 서비스 클라이언트 객체에서 getResponseMetadata()을 호출합니다.

// 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;

$campaignServiceClient->getResponseMetadata()와 $googleAdsServiceClient->getResponseMetadata()는 모두 GoogleAdsResponseMetadata 객체를 반환합니다.