Rumah  >  Soal Jawab  >  teks badan

API Data Google Analitis v1: Laksanakan runReport dan dapatkan data JSON sahaja

Pada masa ini saya cuba mendapatkan data json daripada GA4 menggunakan Google Analytics Data API v1. Walau bagaimanapun, respons yang dikembalikan bukanlah data json tulen, sebaliknya jika saya hanya mencetaknya menggunakan PHP, ia memberi saya {}. Walau bagaimanapun, menggunakan kaedah yang telah ditetapkan kita boleh mendapatkan nilai. Adakah terdapat cara untuk mendapatkan data json tulen?

<?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粉356361722P粉356361722285 hari yang lalu329

membalas semua(1)saya akan balas

  • P粉726133917

    P粉7261339172023-12-14 14:35:28

    echo $response->serializeToJsonString(); // Prints JSON string

    $responseGoogleAnalyticsDataV1betaRunReportResponse 的实例,它扩展自 GoogleProtobufInternalMessage< /代码>。因此,您可以使用相同的 serializeToJsonString() Kaedah.

    balas
    0
  • Batalbalas