Metadatos de respuesta

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

Después de llamar a los métodos de servicio de cliente, puedes obtener GoogleAdsResponseMetadata, desde un objeto relevante, como un cliente de servicio o una transmisión, según el método 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() muestra un array que se ve de la siguiente manera:

object(Google\Ads\GoogleAds\Lib\V19\GoogleAdsResponseMetadata)#51 (1) {
  ["metadata":"Google\Ads\GoogleAds\Lib\V19\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 la 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 flujo:

$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 mutación

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

// 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.