Metadados de resposta

Por padrão, a biblioteca de cliente PHP registra os metadados da resposta, incluindo um ID de solicitaçã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, você pode receber GoogleAdsResponseMetadata, de um objeto relevante, como um cliente de serviço ou um fluxo, de acordo com o método chamado. Esse objeto contém getMetadata() e getRequestId(), que retornam metadados de resposta e o ID da solicitação da chamada de API, respectivamente. O método getMetadata() retorna uma matriz como esta:

object(Google\Ads\GoogleAds\Lib\V20\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V20\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 da solicitação da matriz de metadados, poupando o trabalho de analisar manualmente.

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

SearchStream

Para conseguir um objeto de 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 de GoogleAdsResponseMetadata, chame getResponseMetadata() no objeto 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;

Os campos $campaignServiceClient->getResponseMetadata() e $googleAdsServiceClient->getResponseMetadata() são um objeto de GoogleAdsResponseMetadata.