Metadatos de respuesta

De forma predeterminada, la biblioteca cliente de PHP registra los metadatos de la respuesta, incluido un ID de solicitud. Como alternativa, puedes obtener los metadatos de la respuesta de forma programática cuando llames a los métodos del servicio del cliente. Para ello, establece el parámetro opcional withResponseMetadata en true.

Después de llamar a los métodos de servicio del cliente, puedes obtener GoogleAdsResponseMetadata desde un objeto relevante, como un cliente de servicio o una transmisión, según el método al que llames. Este objeto contiene getMetadata() y getRequestId(), que muestran los metadatos de la respuesta y el ID de la solicitud de la llamada a la API, respectivamente. El método getMetadata() devuelve un array similar al siguiente:

object(Google\Ads\GoogleAds\Lib\V21\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V21\GoogleAdsResponseMetadata":private]=>
  array(17) {
    ["content-disposition"]=>
    array(1) {
      [0]=>
      string(10) "attachment"
    }
    ["request-id"]=>
    array(1) {
      [0]=>
      string(22) "REQUEST_ID"
    }
    ...
  }
}

El método getRequestId() simplifica el proceso de extracción del ID de solicitud del array de metadatos, lo que te ahorra el esfuerzo de analizarlo de forma manual.

En las siguientes secciones, se explica cómo recuperar GoogleAdsResponseMetadata para cada método.

SearchStream

Para obtener un objeto de GoogleAdsResponseMetadata, llama a getResponseMetadata() en el objeto stream:

$stream = $googleAdsServiceClient->searchStream(
    SearchGoogleAdsStreamRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);

// Prints the request ID.
print $stream->getResponseMetadata()->getRequestId() . PHP_EOL;

$stream->getResponseMetadata() es un objeto de GoogleAdsResponseMetadata.

Búsqueda y otros métodos de modificación

Para obtener un objeto de GoogleAdsResponseMetadata, llama a getResponseMetadata() en el objeto client:

// Retrieves objects.
$response = $googleAdsServiceClient->search(
    SearchGoogleAdsRequest::build($customerId, $query),
    ['withResponseMetadata' => true]
);

// Prints the request ID.
print $googleAdsServiceClient->getResponseMetadata()->getRequestId() . PHP_EOL;

// Mutates campaigns.
$response = $campaignServiceClient->mutateCampaigns(
    MutateCampaignsRequest::build($customerId, $campaignOperations),
    ['withResponseMetadata' => true]
);

// Prints the request ID.
print $campaignServiceClient->getResponseMetadata()->getRequestId() . PHP_EOL;

$campaignServiceClient->getResponseMetadata() y $googleAdsServiceClient->getResponseMetadata() son un objeto de GoogleAdsResponseMetadata.