Google Analytics Data API v1:執行 runReport 並僅檢索 JSON 數據
P粉356361722
P粉356361722 2023-12-13 17:37:47
0
1
323

目前我正在嘗試使用 Google Analytics Data API v1 從 GA4 取得 json 資料。但是,返回的回應不是純 json 數據,相反,如果我只是使用 PHP 列印它,它會給我 {}。但是,使用預定義的方法,我們可以獲得該值。請問,有沒有辦法得到純json數據?

<?php
putenv('GOOGLE_APPLICATION_CREDENTIALS=xxx.json');

require_once 'vendorautoload.php';

use GoogleAnalyticsDataV1betaBetaAnalyticsDataClient;
use GoogleAnalyticsDataV1betaDateRange;
use GoogleAnalyticsDataV1betaDimension;
use GoogleAnalyticsDataV1betaMetric;
use GoogleCloudBigQueryConnectionRest;

$property_id = 'xxx'; // GA4 property ID

// Using a default constructor instructs the client to use the credentials
// specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
$client = new BetaAnalyticsDataClient();

// Make an API call.
$response = $client->runReport([
  'property' => 'properties/' . $property_id,
  'dateRanges' => [
    new DateRange([
      'start_date' => '2022-06-30',
      'end_date' => 'today',
    ]),
  ],
  'dimensions' => [
    new Dimension(
      [
        'name' => 'city',
      ]
    ),
  ],
  'metrics' => [
    new Metric(
      [
        'name' => 'activeUsers',
      ]
    )
  ]
]);

print 'Report result: ' . PHP_EOL;

printVisitorsLocationInNumber($response);

function printVisitorsLocationInNumber($resp) {
  foreach ($resp->getRows() as $row) {
    echo
    $row->getDimensionValues()[0]->getValue() . ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL . '</br>';;
  }
}


#
P粉356361722
P粉356361722

全部回覆(1)
P粉726133917
echo $response->serializeToJsonString(); // Prints JSON string

$response\Google\Analytics\Data\V1beta\RunReportResponse 的實例,它擴充自 \Google\Protobuf\Internal\Message。因此,您可以使用相同的 serializeToJsonString() 方法。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!