Biblioteka klienta PHP domyślnie rejestruje metadane odpowiedzi, w tym identyfikator żądania. Możesz też uzyskać metadane odpowiedzi
programowo podczas wywoływania metod usługi klienta, ustawiając opcjonalny
parametr withResponseMetadata na true.
Po wywołaniu metod usługi klienta możesz uzyskać instancję GoogleAdsResponseMetadata z odpowiedniego obiektu (np. klienta usługi lub strumienia) w zależności od wywołanej metody.
Ten obiekt udostępnia właściwości getMetadata() i getRequestId(), które zwracają odpowiednio pełną tablicę metadanych odpowiedzi i identyfikator żądania wywołania interfejsu API. Metoda getMetadata() zwraca tablicę o strukturze podobnej do tej:
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"
}
...
}
}
Metoda getRequestId() upraszcza wyodrębnianie identyfikatora żądania z tablicy metadanych bez ręcznego analizowania kluczy tablicy.
W sekcjach poniżej znajdziesz informacje o tym, jak pobrać wartość GoogleAdsResponseMetadata dla każdego typu metody.
SearchStream
Aby uzyskać obiekt GoogleAdsResponseMetadata w przypadku wywołania strumieniowego, wywołaj funkcję getResponseMetadata() na obiekcie stream po iteracji strumienia:
$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() zwraca obiekt GoogleAdsResponseMetadata.
Metody wyszukiwania i modyfikowania
Aby uzyskać obiekt GoogleAdsResponseMetadata w przypadku wywołań jednoargumentowych, wywołaj funkcję getResponseMetadata() na obiekcie klienta usługi:
// 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;
Zarówno $campaignServiceClient->getResponseMetadata(), jak i $googleAdsServiceClient->getResponseMetadata() zwracają obiekt GoogleAdsResponseMetadata.