Metadados de resposta

A biblioteca de cliente do PHP registra os metadados da resposta, incluindo um ID de solicitação, por padrão. Como alternativa, é possível receber os metadados de resposta de forma programática ao chamar métodos de serviço do cliente definindo o parâmetro opcional withResponseMetadata como true.

Depois de chamar os métodos de serviço do cliente, é possível receber GoogleAdsResponseMetadata de um objeto relevante, como um cliente de serviço ou um stream, de acordo com o método chamado. Esse objeto contém getMetadata() e getRequestId(), que retornam metadados de resposta e o ID de solicitação da chamada de API, respectivamente. O método getMetadata() retorna uma matriz parecida com esta:

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

O método getRequestId() simplifica o processo de extração do ID de solicitação da matriz de metadados, dispensando a necessidade de analisar manualmente.

As seções a seguir explicam como recuperar GoogleAdsResponseMetadata para cada método.

SearchStream

Para conseguir um objeto GoogleAdsResponseMetadata, chame getResponseMetadata() no objeto stream:

$stream = $googleAdsServiceClient->searchStream(
    SearchGoogleAdsStreamRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);

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

O $stream->getResponseMetadata() é um objeto de GoogleAdsResponseMetadata.

Pesquisa e outros métodos de mutação

Para conseguir um objeto GoogleAdsResponseMetadata, chame getResponseMetadata() no objeto cliente:

// 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() e $googleAdsServiceClient->getResponseMetadata() são um objeto de GoogleAdsResponseMetadata.