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\V23\GoogleAdsResponseMetadata)#51 (1) {
["metadata":"Google\Ads\GoogleAds\Lib\V23\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.