Metadata respons

Library klien PHP mencatat metadata respons, termasuk ID permintaan, secara default. Atau, Anda dapat memperoleh metadata respons secara terprogram saat memanggil metode layanan klien dengan menetapkan parameter opsional withResponseMetadata ke true.

Setelah memanggil metode layanan klien, Anda dapat memperoleh instance GoogleAdsResponseMetadata dari objek yang relevan (seperti klien layanan atau stream) bergantung pada metode yang Anda panggil. Objek ini menyediakan getMetadata() dan getRequestId(), yang masing-masing menampilkan array metadata respons lengkap dan ID permintaan panggilan API. Metode getMetadata() menampilkan array yang disusun seperti output berikut:

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"
    }
    ...
  }
}

Metode getRequestId() menyederhanakan ekstraksi ID permintaan dari array metadata tanpa mengurai kunci array secara manual.

Bagian berikut menjelaskan cara mengambil GoogleAdsResponseMetadata untuk setiap jenis metode.

SearchStream

Untuk mendapatkan objek GoogleAdsResponseMetadata untuk panggilan streaming, panggil getResponseMetadata() pada objek stream setelah melakukan iterasi pada stream:

$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() menampilkan objek GoogleAdsResponseMetadata.

Metode penelusuran dan mutasi

Untuk mendapatkan objek GoogleAdsResponseMetadata untuk panggilan unary, panggil getResponseMetadata() pada objek klien layanan:

// 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() dan $googleAdsServiceClient->getResponseMetadata() menampilkan objek GoogleAdsResponseMetadata.