Per impostazione predefinita, la libreria client PHP registra i metadati della risposta, incluso un ID richiesta. In alternativa, puoi ottenere i metadati della risposta in modo programmatico quando chiami i metodi del servizio client impostando il parametro facoltativo withResponseMetadata su true.
Dopo aver chiamato i metodi del servizio client, puoi ottenere un'istanza GoogleAdsResponseMetadata dall'oggetto pertinente (ad esempio un client di servizio o uno stream) a seconda del metodo che chiami.
Questo oggetto fornisce getMetadata() e getRequestId(), che restituiscono rispettivamente l'array completo dei metadati della risposta e l'ID richiesta della chiamata API. Il metodo getMetadata() restituisce un array strutturato come il seguente output:
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"
}
...
}
}
Il metodo getRequestId() semplifica l'estrazione dell'ID richiesta dall'array di metadati senza analizzare manualmente le chiavi dell'array.
Le sezioni seguenti spiegano come recuperare GoogleAdsResponseMetadata per
ogni tipo di metodo.
SearchStream
Per ottenere un oggetto GoogleAdsResponseMetadata per una chiamata in streaming, chiama getResponseMetadata() sull'oggetto stream dopo aver eseguito l'iterazione sullo 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() restituisce un oggetto GoogleAdsResponseMetadata.
Metodi di ricerca e modifica
Per ottenere un oggetto GoogleAdsResponseMetadata per le chiamate unarie, chiama
getResponseMetadata() sull'oggetto client di servizio:
// 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;
Sia $campaignServiceClient->getResponseMetadata() che $googleAdsServiceClient->getResponseMetadata() restituiscono un oggetto GoogleAdsResponseMetadata.