Google Analytics Data API v1 developer quickstart, Google Analytics Data API v1 developer quickstart

در این شروع سریع، درخواست‌های list را به Google Analytics Data API v1 ایجاد و ارسال می‌کنید، سپس پاسخ‌ها را برای تنظیم و تأیید دسترسی API خود مشاهده می‌کنید.

می‌توانید این شروع سریع را با استفاده از یک SDK یا REST API در محیط محلی خود یا یک نمونه Google Cloud VM تکمیل کنید.

در اینجا خلاصه ای از مراحل است:

  • یک پروژه Google Cloud راه اندازی کنید و Google Analytics Data API v1 را فعال کنید.
  • در دستگاه محلی یا نمونه Cloud VM:
    • با Google Cloud نصب، مقداردهی اولیه و احراز هویت کنید.
    • SDK را برای زبان خود نصب کنید (اختیاری).
  • احراز هویت را پیکربندی کنید.
  • دسترسی به Google Analytics را پیکربندی کنید.
  • یک SDK راه اندازی کنید.
  • یک تماس API برقرار کنید.

یک پروژه Google Cloud راه اندازی کنید

برای انتخاب یا ایجاد یک پروژه جدید Google Cloud و فعال کردن خودکار Google Analytics Data API v1 روی دکمه زیر فعال کردن Google Analytics Data API v1 کلیک کنید.

Google Analytics Data API v1 را فعال کنید

Google Cloud را راه اندازی کنید

در دستگاه محلی خود یا یک نمونه Cloud VM، با Google Cloud راه‌اندازی و احراز هویت کنید.

  1. Google Cloud را نصب و مقداردهی اولیه کنید .

  2. برای اطمینان از به روز بودن اجزای gcloud ، دستور زیر را اجرا کنید.

    gcloud components update

برای جلوگیری از ارائه ID پروژه خود به Google Cloud، می توانید از دستور gcloud config set برای تنظیم پروژه و منطقه پیش فرض استفاده کنید.

احراز هویت را پیکربندی کنید

این شروع سریع از اعتبارنامه های پیش فرض برنامه برای یافتن خودکار اعتبارنامه ها بر اساس محیط برنامه استفاده می کند، بنابراین نیازی به تغییر کد مشتری برای احراز هویت ندارید.

Google Analytics Data API v1 از حساب های کاربری و حساب های خدمات پشتیبانی می کند:

  • حساب‌های کاربری نشان دهنده یک توسعه‌دهنده، سرپرست یا هر شخص دیگری است که با APIها و سرویس‌های Google تعامل دارد.
  • حساب های سرویس نشان دهنده یک کاربر انسانی خاص نیستند. آنها راهی برای مدیریت احراز هویت و مجوز در زمانی که انسان مستقیماً درگیر نیست، مانند زمانی که یک برنامه نیاز به دسترسی به منابع Google Cloud دارد، ارائه می‌کند.

برای کسب اطلاعات بیشتر در مورد احراز هویت و تنظیم اعتبار حساب برای برنامه خود، به روش‌های احراز هویت در Google مراجعه کنید.

حساب کاربری

با اجرای دستور زیر یک فایل اعتبارنامه پیش فرض برنامه (ADC) ایجاد کنید. این دستور یک جریان وب را راه اندازی می کند که در آن شما اعتبار کاربری خود را ارائه می دهید.

  gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.readonly"

به یاد داشته باشید که محدوده های مورد نیاز Google Analytics Data API v1 را در دستور مشخص کنید. برای اطلاعات بیشتر، به تنظیم اعتبار پیش فرض برنامه مراجعه کنید

حساب خدمات

در اینجا مراحل احراز هویت با حساب سرویس با استفاده از یک نمونه Cloud VM آمده است:

  1. یک حساب کاربری ایجاد کنید .
  2. با اجرای دستور gcloud CLI زیر ، حساب سرویس را به نمونه Cloud VM خود متصل کنید :
  gcloud compute instances stop YOUR-VM-INSTANCE-ID

  gcloud compute instances set-service-account YOUR-VM-INSTANCE-ID \
    --service-account YOUR-SERVICE-ACCOUNT-EMAIL-ALIAS  \
    --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.readonly"

به یاد داشته باشید که محدوده های مورد نیاز Google Analytics Data API v1 را در دستور مشخص کنید. برای اطلاعات بیشتر، به تنظیم اعتبار پیش فرض برنامه مراجعه کنید

دسترسی به Google Analytics را پیکربندی کنید

به Google Analytics اجازه دسترسی به ایمیل مرتبط با حساب کاربری یا خدمات خود را بدهید .

SDK را برای زبان برنامه نویسی خود تنظیم کنید

در دستگاه محلی خود، SDK را برای زبان برنامه نویسی خود نصب کنید.

جاوا

راهنمای نصب کتابخانه کلاینت جاوا

PHP

راهنمای نصب کتابخانه کلاینت PHP

پایتون

راهنمای نصب کتابخانه کلاینت پایتون

Node.js

راهنمای نصب کتابخانه مشتری Node.js

دات نت

راهنمای نصب کتابخانه کلاینت دات نت

روبی

راهنمای نصب کتابخانه کلاینت روبی

برو

go get google.golang.org/genproto/googleapis/analytics/data/v1beta

استراحت

با وارد کردن موارد زیر متغیرهای محیط خود را پیکربندی کنید. PROJECT_ID با شناسه پروژه Google Cloud خود و PROPERTY_ID با شناسه دارایی Google Analytics خود جایگزین کنید.

  export PROJECT_ID=PROJECT_ID
  export PROPERTY_ID=PROPERTY_ID

یک تماس API برقرار کنید

کد زیر را برای برقراری اولین تماس خود اجرا کنید:

جاوا

import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.DateRange;
import com.google.analytics.data.v1beta.Dimension;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.Row;
import com.google.analytics.data.v1beta.RunReportRequest;
import com.google.analytics.data.v1beta.RunReportResponse;

/**
 * Google Analytics Data API sample quickstart application.
 *
 * <p>This application demonstrates the usage of the Analytics Data API using service account
 * credentials.
 *
 * <p>Before you start the application, please review the comments starting with "TODO(developer)"
 * and update the code to use correct values.
 *
 * <p>To run this sample using Maven:
 *
 * <pre>{@code
 * cd google-analytics-data
 * mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.QuickstartSample"
 * }</pre>
 */
public class QuickstartSample {

  public static void main(String... args) throws Exception {
    /**
     * TODO(developer): Replace this variable with your Google Analytics 4 property ID before
     * running the sample.
     */
    String propertyId = "YOUR-GA4-PROPERTY-ID";
    sampleRunReport(propertyId);
  }

  // This is an example snippet that calls the Google Analytics Data API and runs a simple report
  // on the provided GA4 property id.
  static void sampleRunReport(String propertyId) throws Exception {
    // Using a default constructor instructs the client to use the credentials
    // specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
    try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {

      RunReportRequest request =
          RunReportRequest.newBuilder()
              .setProperty("properties/" + propertyId)
              .addDimensions(Dimension.newBuilder().setName("city"))
              .addMetrics(Metric.newBuilder().setName("activeUsers"))
              .addDateRanges(DateRange.newBuilder().setStartDate("2020-03-31").setEndDate("today"))
              .build();

      // Make the request.
      RunReportResponse response = analyticsData.runReport(request);

      System.out.println("Report result:");
      // Iterate through every row of the API response.
      for (Row row : response.getRowsList()) {
        System.out.printf(
            "%s, %s%n", row.getDimensionValues(0).getValue(), row.getMetricValues(0).getValue());
      }
    }
  }
}

PHP

require 'vendor/autoload.php';

use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\RunReportRequest;

/**
 * TODO(developer): Replace this variable with your Google Analytics 4
 *   property ID before running the sample.
 */
$property_id = 'YOUR-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.
$request = (new RunReportRequest())
    ->setProperty('properties/' . $property_id)
    ->setDateRanges([
        new DateRange([
            'start_date' => '2020-03-31',
            'end_date' => 'today',
        ]),
    ])
    ->setDimensions([new Dimension([
            'name' => 'city',
        ]),
    ])
    ->setMetrics([new Metric([
            'name' => 'activeUsers',
        ])
    ]);
$response = $client->runReport($request);

// Print results of an API call.
print 'Report result: ' . PHP_EOL;

foreach ($response->getRows() as $row) {
    print $row->getDimensionValues()[0]->getValue()
        . ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL;
}

پایتون

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    DateRange,
    Dimension,
    Metric,
    RunReportRequest,
)


def sample_run_report(property_id="YOUR-GA4-PROPERTY-ID"):
    """Runs a simple report on a Google Analytics 4 property."""
    # TODO(developer): Uncomment this variable and replace with your
    #  Google Analytics 4 property ID before running the sample.
    # property_id = "YOUR-GA4-PROPERTY-ID"

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

    request = RunReportRequest(
        property=f"properties/{property_id}",
        dimensions=[Dimension(name="city")],
        metrics=[Metric(name="activeUsers")],
        date_ranges=[DateRange(start_date="2020-03-31", end_date="today")],
    )
    response = client.run_report(request)

    print("Report result:")
    for row in response.rows:
        print(row.dimension_values[0].value, row.metric_values[0].value)

Node.js

  /**
   * TODO(developer): Uncomment this variable and replace with your
   *   Google Analytics 4 property ID before running the sample.
   */
  // propertyId = 'YOUR-GA4-PROPERTY-ID';

  // Imports the Google Analytics Data API client library.
  const {BetaAnalyticsDataClient} = require('@google-analytics/data');

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

  // Runs a simple report.
  async function runReport() {
    const [response] = await analyticsDataClient.runReport({
      property: `properties/${propertyId}`,
      dateRanges: [
        {
          startDate: '2020-03-31',
          endDate: 'today',
        },
      ],
      dimensions: [
        {
          name: 'city',
        },
      ],
      metrics: [
        {
          name: 'activeUsers',
        },
      ],
    });

    console.log('Report result:');
    response.rows.forEach((row) => {
      console.log(row.dimensionValues[0], row.metricValues[0]);
    });
  }

  runReport();

دات نت

using Google.Analytics.Data.V1Beta;
using System;

namespace AnalyticsSamples
{
    class QuickStart
    {
        static void SampleRunReport(string propertyId="YOUR-GA4-PROPERTY-ID")
        {
            /**
             * TODO(developer): Uncomment this variable and replace with your
             *  Google Analytics 4 property ID before running the sample.
             */
            // propertyId = "YOUR-GA4-PROPERTY-ID";

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

            // Initialize request argument(s)
            RunReportRequest request = new RunReportRequest
            {
                Property = "properties/" + propertyId,
                Dimensions = { new Dimension{ Name="city"}, },
                Metrics = { new Metric{ Name="activeUsers"}, },
                DateRanges = { new DateRange{ StartDate="2020-03-31", EndDate="today"}, },
            };

            // Make the request
            RunReportResponse response = client.RunReport(request);

            Console.WriteLine("Report result:");
            foreach(Row row in response.Rows)
            {
                Console.WriteLine("{0}, {1}", row.DimensionValues[0].Value, row.MetricValues[0].Value);
            }
        }
        static int Main(string[] args)
        {
            if (args.Length > 0) {
                SampleRunReport(args[0]);
            } else {
                SampleRunReport();
            }
            return 0;
        }
    }
}

استراحت

برای ارسال این درخواست، دستور curl را از خط فرمان اجرا کنید یا تماس REST را در برنامه خود قرار دهید.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: ${PROJECT_ID}" \
  -H "Content-Type: application/json" \
  -d '
  {
    "dateRanges": [
      {
        "startDate": "2025-01-01",
        "endDate": "2025-02-01"
      }
    ],
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ]
  }'  https://analyticsdata.googleapis.com/v1beta/properties/${PROPERTY_ID}:runReport

پاسخ شامل گزارشی با کاربران فعال خواهد بود که بر اساس کشور تفکیک شده اند، به عنوان مثال:

{
  "dimensionHeaders": [
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "dimensionValues": [
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "3242"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "(not set)"
        }
      ],
      "metricValues": [
        {
          "value": "3015"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "India"
        }
      ],
      "metricValues": [
        {
          "value": "805"
        }
      ]
    }
  ],
  "rowCount": 3,
  "metadata": {
    "currencyCode": "USD",
    "timeZone": "America/Los_Angeles"
  },
  "kind": "analyticsData#runReport"
}
،

در این شروع سریع، درخواست‌های list را به Google Analytics Data API v1 ایجاد و ارسال می‌کنید، سپس پاسخ‌ها را برای تنظیم و تأیید دسترسی API خود مشاهده می‌کنید.

می‌توانید این شروع سریع را با استفاده از یک SDK یا REST API در محیط محلی خود یا یک نمونه Google Cloud VM تکمیل کنید.

در اینجا خلاصه ای از مراحل است:

  • یک پروژه Google Cloud راه اندازی کنید و Google Analytics Data API v1 را فعال کنید.
  • در دستگاه محلی یا نمونه Cloud VM:
    • با Google Cloud نصب، مقداردهی اولیه و احراز هویت کنید.
    • SDK را برای زبان خود نصب کنید (اختیاری).
  • احراز هویت را پیکربندی کنید.
  • دسترسی به Google Analytics را پیکربندی کنید.
  • یک SDK راه اندازی کنید.
  • یک تماس API برقرار کنید.

یک پروژه Google Cloud راه اندازی کنید

برای انتخاب یا ایجاد یک پروژه جدید Google Cloud و فعال کردن خودکار Google Analytics Data API v1 روی دکمه زیر فعال کردن Google Analytics Data API v1 کلیک کنید.

Google Analytics Data API v1 را فعال کنید

Google Cloud را راه اندازی کنید

در دستگاه محلی خود یا یک نمونه Cloud VM، با Google Cloud راه‌اندازی و احراز هویت کنید.

  1. Google Cloud را نصب و مقداردهی اولیه کنید .

  2. برای اطمینان از به روز بودن اجزای gcloud ، دستور زیر را اجرا کنید.

    gcloud components update

برای جلوگیری از ارائه ID پروژه خود به Google Cloud، می توانید از دستور gcloud config set برای تنظیم پروژه و منطقه پیش فرض استفاده کنید.

احراز هویت را پیکربندی کنید

این شروع سریع از اعتبارنامه های پیش فرض برنامه برای یافتن خودکار اعتبارنامه ها بر اساس محیط برنامه استفاده می کند، بنابراین نیازی به تغییر کد مشتری برای احراز هویت ندارید.

Google Analytics Data API v1 از حساب های کاربری و حساب های خدمات پشتیبانی می کند:

  • حساب‌های کاربری نشان دهنده یک توسعه‌دهنده، سرپرست یا هر شخص دیگری است که با APIها و سرویس‌های Google تعامل دارد.
  • حساب های سرویس نشان دهنده یک کاربر انسانی خاص نیستند. آنها راهی برای مدیریت احراز هویت و مجوز در زمانی که انسان مستقیماً درگیر نیست، مانند زمانی که یک برنامه نیاز به دسترسی به منابع Google Cloud دارد، ارائه می‌کند.

برای کسب اطلاعات بیشتر در مورد احراز هویت و تنظیم اعتبار حساب برای برنامه خود، به روش‌های احراز هویت در Google مراجعه کنید.

حساب کاربری

با اجرای دستور زیر یک فایل اعتبارنامه پیش فرض برنامه (ADC) ایجاد کنید. این دستور یک جریان وب را راه اندازی می کند که در آن شما اعتبار کاربری خود را ارائه می دهید.

  gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.readonly"

به یاد داشته باشید که محدوده های مورد نیاز Google Analytics Data API v1 را در دستور مشخص کنید. برای اطلاعات بیشتر، به تنظیم اعتبار پیش فرض برنامه مراجعه کنید

حساب خدمات

در اینجا مراحل احراز هویت با حساب سرویس با استفاده از یک نمونه Cloud VM آمده است:

  1. یک حساب کاربری ایجاد کنید .
  2. با اجرای دستور gcloud CLI زیر ، حساب سرویس را به نمونه Cloud VM خود متصل کنید :
  gcloud compute instances stop YOUR-VM-INSTANCE-ID

  gcloud compute instances set-service-account YOUR-VM-INSTANCE-ID \
    --service-account YOUR-SERVICE-ACCOUNT-EMAIL-ALIAS  \
    --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.readonly"

به یاد داشته باشید که محدوده های مورد نیاز Google Analytics Data API v1 را در دستور مشخص کنید. برای اطلاعات بیشتر، به تنظیم اعتبار پیش فرض برنامه مراجعه کنید

دسترسی به Google Analytics را پیکربندی کنید

به Google Analytics اجازه دسترسی به ایمیل مرتبط با حساب کاربری یا خدمات خود را بدهید .

SDK را برای زبان برنامه نویسی خود تنظیم کنید

در دستگاه محلی خود، SDK را برای زبان برنامه نویسی خود نصب کنید.

جاوا

راهنمای نصب کتابخانه کلاینت جاوا

PHP

راهنمای نصب کتابخانه کلاینت PHP

پایتون

راهنمای نصب کتابخانه کلاینت پایتون

Node.js

راهنمای نصب کتابخانه مشتری Node.js

دات نت

راهنمای نصب کتابخانه کلاینت دات نت

روبی

راهنمای نصب کتابخانه کلاینت روبی

برو

go get google.golang.org/genproto/googleapis/analytics/data/v1beta

استراحت

با وارد کردن موارد زیر متغیرهای محیط خود را پیکربندی کنید. PROJECT_ID با شناسه پروژه Google Cloud خود و PROPERTY_ID با شناسه دارایی Google Analytics خود جایگزین کنید.

  export PROJECT_ID=PROJECT_ID
  export PROPERTY_ID=PROPERTY_ID

یک تماس API برقرار کنید

کد زیر را برای برقراری اولین تماس خود اجرا کنید:

جاوا

import com.google.analytics.data.v1beta.BetaAnalyticsDataClient;
import com.google.analytics.data.v1beta.DateRange;
import com.google.analytics.data.v1beta.Dimension;
import com.google.analytics.data.v1beta.Metric;
import com.google.analytics.data.v1beta.Row;
import com.google.analytics.data.v1beta.RunReportRequest;
import com.google.analytics.data.v1beta.RunReportResponse;

/**
 * Google Analytics Data API sample quickstart application.
 *
 * <p>This application demonstrates the usage of the Analytics Data API using service account
 * credentials.
 *
 * <p>Before you start the application, please review the comments starting with "TODO(developer)"
 * and update the code to use correct values.
 *
 * <p>To run this sample using Maven:
 *
 * <pre>{@code
 * cd google-analytics-data
 * mvn compile exec:java -Dexec.mainClass="com.google.analytics.data.samples.QuickstartSample"
 * }</pre>
 */
public class QuickstartSample {

  public static void main(String... args) throws Exception {
    /**
     * TODO(developer): Replace this variable with your Google Analytics 4 property ID before
     * running the sample.
     */
    String propertyId = "YOUR-GA4-PROPERTY-ID";
    sampleRunReport(propertyId);
  }

  // This is an example snippet that calls the Google Analytics Data API and runs a simple report
  // on the provided GA4 property id.
  static void sampleRunReport(String propertyId) throws Exception {
    // Using a default constructor instructs the client to use the credentials
    // specified in GOOGLE_APPLICATION_CREDENTIALS environment variable.
    try (BetaAnalyticsDataClient analyticsData = BetaAnalyticsDataClient.create()) {

      RunReportRequest request =
          RunReportRequest.newBuilder()
              .setProperty("properties/" + propertyId)
              .addDimensions(Dimension.newBuilder().setName("city"))
              .addMetrics(Metric.newBuilder().setName("activeUsers"))
              .addDateRanges(DateRange.newBuilder().setStartDate("2020-03-31").setEndDate("today"))
              .build();

      // Make the request.
      RunReportResponse response = analyticsData.runReport(request);

      System.out.println("Report result:");
      // Iterate through every row of the API response.
      for (Row row : response.getRowsList()) {
        System.out.printf(
            "%s, %s%n", row.getDimensionValues(0).getValue(), row.getMetricValues(0).getValue());
      }
    }
  }
}

PHP

require 'vendor/autoload.php';

use Google\Analytics\Data\V1beta\Client\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
use Google\Analytics\Data\V1beta\RunReportRequest;

/**
 * TODO(developer): Replace this variable with your Google Analytics 4
 *   property ID before running the sample.
 */
$property_id = 'YOUR-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.
$request = (new RunReportRequest())
    ->setProperty('properties/' . $property_id)
    ->setDateRanges([
        new DateRange([
            'start_date' => '2020-03-31',
            'end_date' => 'today',
        ]),
    ])
    ->setDimensions([new Dimension([
            'name' => 'city',
        ]),
    ])
    ->setMetrics([new Metric([
            'name' => 'activeUsers',
        ])
    ]);
$response = $client->runReport($request);

// Print results of an API call.
print 'Report result: ' . PHP_EOL;

foreach ($response->getRows() as $row) {
    print $row->getDimensionValues()[0]->getValue()
        . ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL;
}

پایتون

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    DateRange,
    Dimension,
    Metric,
    RunReportRequest,
)


def sample_run_report(property_id="YOUR-GA4-PROPERTY-ID"):
    """Runs a simple report on a Google Analytics 4 property."""
    # TODO(developer): Uncomment this variable and replace with your
    #  Google Analytics 4 property ID before running the sample.
    # property_id = "YOUR-GA4-PROPERTY-ID"

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

    request = RunReportRequest(
        property=f"properties/{property_id}",
        dimensions=[Dimension(name="city")],
        metrics=[Metric(name="activeUsers")],
        date_ranges=[DateRange(start_date="2020-03-31", end_date="today")],
    )
    response = client.run_report(request)

    print("Report result:")
    for row in response.rows:
        print(row.dimension_values[0].value, row.metric_values[0].value)

Node.js

  /**
   * TODO(developer): Uncomment this variable and replace with your
   *   Google Analytics 4 property ID before running the sample.
   */
  // propertyId = 'YOUR-GA4-PROPERTY-ID';

  // Imports the Google Analytics Data API client library.
  const {BetaAnalyticsDataClient} = require('@google-analytics/data');

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

  // Runs a simple report.
  async function runReport() {
    const [response] = await analyticsDataClient.runReport({
      property: `properties/${propertyId}`,
      dateRanges: [
        {
          startDate: '2020-03-31',
          endDate: 'today',
        },
      ],
      dimensions: [
        {
          name: 'city',
        },
      ],
      metrics: [
        {
          name: 'activeUsers',
        },
      ],
    });

    console.log('Report result:');
    response.rows.forEach((row) => {
      console.log(row.dimensionValues[0], row.metricValues[0]);
    });
  }

  runReport();

دات نت

using Google.Analytics.Data.V1Beta;
using System;

namespace AnalyticsSamples
{
    class QuickStart
    {
        static void SampleRunReport(string propertyId="YOUR-GA4-PROPERTY-ID")
        {
            /**
             * TODO(developer): Uncomment this variable and replace with your
             *  Google Analytics 4 property ID before running the sample.
             */
            // propertyId = "YOUR-GA4-PROPERTY-ID";

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

            // Initialize request argument(s)
            RunReportRequest request = new RunReportRequest
            {
                Property = "properties/" + propertyId,
                Dimensions = { new Dimension{ Name="city"}, },
                Metrics = { new Metric{ Name="activeUsers"}, },
                DateRanges = { new DateRange{ StartDate="2020-03-31", EndDate="today"}, },
            };

            // Make the request
            RunReportResponse response = client.RunReport(request);

            Console.WriteLine("Report result:");
            foreach(Row row in response.Rows)
            {
                Console.WriteLine("{0}, {1}", row.DimensionValues[0].Value, row.MetricValues[0].Value);
            }
        }
        static int Main(string[] args)
        {
            if (args.Length > 0) {
                SampleRunReport(args[0]);
            } else {
                SampleRunReport();
            }
            return 0;
        }
    }
}

استراحت

برای ارسال این درخواست، دستور curl را از خط فرمان اجرا کنید یا تماس REST را در برنامه خود قرار دهید.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: ${PROJECT_ID}" \
  -H "Content-Type: application/json" \
  -d '
  {
    "dateRanges": [
      {
        "startDate": "2025-01-01",
        "endDate": "2025-02-01"
      }
    ],
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ]
  }'  https://analyticsdata.googleapis.com/v1beta/properties/${PROPERTY_ID}:runReport

پاسخ شامل گزارشی با کاربران فعال خواهد بود که بر اساس کشور تفکیک شده اند، به عنوان مثال:

{
  "dimensionHeaders": [
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "dimensionValues": [
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "3242"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "(not set)"
        }
      ],
      "metricValues": [
        {
          "value": "3015"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "India"
        }
      ],
      "metricValues": [
        {
          "value": "805"
        }
      ]
    }
  ],
  "rowCount": 3,
  "metadata": {
    "currencyCode": "USD",
    "timeZone": "America/Los_Angeles"
  },
  "kind": "analyticsData#runReport"
}