التشغيل السريع لواجهة برمجة التطبيقات

توضّح لك هذه الصفحة كيفية بدء استخدام الإصدار الأول من واجهة برمجة التطبيقات Google Analytics Data API في لغة البرمجة المفضّلة لديك باستخدام برنامج "مكتبات العميل".

الخطوة 1. تفعيل واجهة برمجة التطبيقات

انقر على هذا الزر لإنشاء مشروع Cloud Platform جديد، وفعِّل تلقائيًا الإصدار 1 من Data API على "إحصاءات Google" وأنشئ حساب الخدمة المطلوب لهذا البرنامج التعليمي:

تفعيل الإصدار 1 من Data API في "إحصاءات Google"

في مربّع الحوار الذي يظهر، انقر على تنزيل إعدادات البرنامج واحفظ الملف credentials.jsonفي دليل العمل.

الخطوة 2. إضافة حساب الخدمة إلى موقع "إحصاءات Google 4"

باستخدام محرِّر نصوص، افتح الملف credentials.json الذي تم تنزيله في الخطوة السابقة وابحث عن الحقل client_email للحصول على عنوان البريد الإلكتروني لحساب الخدمة الذي يبدو مشابهًا لما يلي:

quickstart@PROJECT-ID.iam.gserviceaccount.com

استخدِم عنوان البريد الإلكتروني هذا لإضافة مستخدِم إلى موقع "إحصاءات Google 4" الذي تريد الوصول إليه من خلال الإصدار 1 من Data API على "إحصاءات Google". لتنفيذ هذا البرنامج التعليمي، يجب الحصول على أذونات المُشاهد فقط.

الخطوة 3. ضبط المصادقة

يوضِّح هذا التطبيق استخدام الإصدار 1 من Google Analytics Data API باستخدام بيانات اعتماد حساب الخدمة.

تعرَّف على المزيد من المعلومات للحصول على تعليمات حول إنشاء بيانات اعتماد حساب الخدمة وضبطها للتطبيق.

تتوفّر طريقة سهلة لتوفير بيانات اعتماد حساب الخدمة من خلال ضبط متغيّر بيئة GOOGLE_APPLICATION_CREDENTIALS، وسيستخدم برنامج واجهة برمجة التطبيقات قيمة هذا المتغيّر للعثور على ملف JSON لمفتاح حساب الخدمة.

لضبط بيانات اعتماد التطبيق في هذا المثال، شغِّل الأمر التالي واستخدِم المسار إلى ملف JSON لحساب الخدمة الذي تم تنزيله في الخطوة 1:

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

مثال:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/credentials.json"

الخطوة 4. تثبيت مكتبة البرامج

إجراء طلب بيانات من واجهة برمجة التطبيقات

يمكنك الآن استخدام Google Analytics Data API لطلب بحث عن موقع على "إحصاءات Google 4". شغِّل الرمز التالي لإجراء اتصالك الأول بواجهة برمجة التطبيقات:

Java

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());
      }
    }
  }
}

Python

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();

NET.

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
            var 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)
        {
            SampleRunReport();
            return 0;
        }
    }
}

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

تهانينا لقد أرسلتَ طلبك الأول إلى Google Analytics Data API.