Métadonnées de réponse

Par défaut, la bibliothèque cliente PHP consigne 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é les méthodes du service client, vous pouvez obtenir une instance GoogleAdsResponseMetadata à partir de l'objet concerné (un client de service ou un flux, par exemple) en fonction de la méthode que vous appelez. Cet objet fournit getMetadata() et getRequestId(), qui renvoient respectivement le tableau complet des 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\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"
    }
    ...
  }
}

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 en 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 tous deux un objet GoogleAdsResponseMetadata.