A biblioteca de cliente PHP registra os metadados da resposta, incluindo um ID de solicitação, por padrão. Também é possível receber os metadados da 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 uma instância GoogleAdsResponseMetadata do objeto relevante (como um cliente de serviço ou um fluxo) dependendo do método chamado.
Esse objeto fornece getMetadata() e getRequestId(), que retornam a matriz completa de metadados de resposta e o ID da solicitação da chamada de API, respectivamente. O método
getMetadata() retorna uma matriz estruturada como a saída a seguir:
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"
}
...
}
}
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 após 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;
$campaignServiceClient->getResponseMetadata() e $googleAdsServiceClient->getResponseMetadata() retornam um objeto GoogleAdsResponseMetadata.