A biblioteca de cliente PHP registra os metadados de resposta, incluindo um
ID de solicitação, por padrão. Como alternativa, é possível receber os metadados de resposta
de maneira 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 uma instância
GoogleAdsResponseMetadata do objeto relevante (como um cliente de serviço ou um stream), dependendo do método chamado.
Esse objeto fornece getMetadata() e getRequestId(), que retornam a matriz de metadados de resposta completa e o ID da solicitação da chamada de API, respectivamente. O método getMetadata() retorna uma matriz estruturada como a seguinte saída:
object(Google\Ads\GoogleAds\Lib\V26\GoogleAdsResponseMetadata)#51 (1) {
["metadata":"Google\Ads\GoogleAds\Lib\V26\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 a extração do ID da solicitação da matriz de metadados sem analisar manualmente as chaves da matriz.
As seções a seguir explicam como recuperar GoogleAdsResponseMetadata para
cada tipo de método.
SearchStream
Para receber um objeto GoogleAdsResponseMetadata para uma chamada de streaming, chame
getResponseMetadata() no objeto stream depois de iterar sobre o
stream:
$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() retorna um objeto GoogleAdsResponseMetadata.
Métodos de pesquisa e mutação
Para receber um objeto GoogleAdsResponseMetadata para chamadas unárias, chame
getResponseMetadata() no objeto cliente de serviço:
// 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;
Tanto $campaignServiceClient->getResponseMetadata() quanto
$googleAdsServiceClient->getResponseMetadata() retornam um
objeto GoogleAdsResponseMetadata.