Par défaut, la bibliothèque cliente PHP enregistre les métadonnées de réponse, y compris un ID de requête. Vous pouvez également obtenir les métadonnées de réponse de manière programmatique lorsque vous appelez des méthodes de service client en définissant le paramètre facultatif withResponseMetadata sur true.
Après avoir appelé des méthodes de service client, vous pouvez obtenir une instance GoogleAdsResponseMetadata à partir de l'objet concerné (tel qu'un client de service ou un flux), en fonction de la méthode que vous appelez.
Cet objet fournit getMetadata() et getRequestId(), qui renvoient respectivement l'intégralité du tableau de métadonnées de réponse et l'ID de requête de l'appel d'API. La méthode getMetadata() renvoie un tableau structuré comme suit :
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"
}
...
}
}
La méthode getRequestId() simplifie l'extraction de l'ID de requête du tableau de métadonnées sans analyser manuellement les clés du tableau.
Les sections suivantes expliquent comment récupérer GoogleAdsResponseMetadata pour chaque type de méthode.
SearchStream
Pour obtenir un objet GoogleAdsResponseMetadata pour un appel de streaming, appelez getResponseMetadata() sur l'objet stream après avoir itéré sur le flux :
$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() renvoie un objet GoogleAdsResponseMetadata.
Méthodes de recherche et de mutation
Pour obtenir un objet GoogleAdsResponseMetadata pour les appels unaires, appelez getResponseMetadata() sur l'objet client de service :
// 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() et $googleAdsServiceClient->getResponseMetadata() renvoient un objet GoogleAdsResponseMetadata.