Yanıt meta verileri

PHP istemci kitaplığı, istek kimliği de dahil olmak üzere yanıt meta verilerini varsayılan olarak günlüğe kaydeder. Alternatif olarak, isteğe bağlı withResponseMetadata parametresini true olarak ayarlayarak istemci hizmeti yöntemlerini çağırırken yanıt meta verilerini programatik olarak alabilirsiniz.

İstemci hizmeti yöntemlerini çağırdıktan sonra, çağırdığınız yönteme bağlı olarak ilgili nesneden (ör. hizmet istemcisi veya akış) bir GoogleAdsResponseMetadata örneği alabilirsiniz. Bu nesne, sırasıyla tam yanıt meta veri dizisini ve API çağrısının istek kimliğini döndüren getMetadata() ve getRequestId() işlevlerini sağlar. getMetadata() yöntemi, aşağıdaki çıkış gibi yapılandırılmış bir dizi döndürür:

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

getRequestId() yöntemi, dizi anahtarlarını manuel olarak ayrıştırmadan istek kimliğini meta veri dizisinden ayıklamayı basitleştirir.

Aşağıdaki bölümlerde, her yöntem türü için GoogleAdsResponseMetadata değerinin nasıl alınacağı açıklanmaktadır.

SearchStream

Bir akış görüşmesi için GoogleAdsResponseMetadata nesnesi elde etmek üzere akış üzerinde yineleme yaptıktan sonra stream nesnesinde getResponseMetadata() işlevini çağırın:

$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(), GoogleAdsResponseMetadata nesnesini döndürür.

Arama ve değiştirme yöntemleri

Tekli aramalar için GoogleAdsResponseMetadata nesnesi almak üzere hizmet istemcisi nesnesinde getResponseMetadata() işlevini çağırın:

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

Hem $campaignServiceClient->getResponseMetadata() hem de $googleAdsServiceClient->getResponseMetadata(), GoogleAdsResponseMetadata nesnesini döndürür.