Trang này cho bạn biết cách bắt đầu sử dụng Google Analytics Data API v1 (API Dữ liệu Google Analytics phiên bản 1) bằng ngôn ngữ lập trình bạn yêu thích thông qua Thư viện ứng dụng.
Bước 1. Bật API
Nhấp vào nút này để tự động tạo một dự án Cloud Platform mới bật Google Analytics Data API phiên bản 1 và tạo tài khoản dịch vụ cần thiết cho hướng dẫn này:
Bật Google Analytics Data API phiên bản 1Trong hộp thoại hiện ra, hãy nhấp vào DOWNLOAD CLIENT CONFIGURATION (Tải cấu hình ứng dụng xuống) rồi lưu tệp
credentials.json
vào thư mục đang làm việc của bạn.
Bước 2. Thêm tài khoản dịch vụ vào tài sản Google Analytics 4
Sử dụng trình chỉnh sửa văn bản, mở tệp credentials.json
được tải xuống trong
bước trước đó và tìm kiếm trường client_email
để lấy
địa chỉ email của tài khoản dịch vụ giống với:
quickstart@PROJECT-ID.iam.gserviceaccount.com
Sử dụng địa chỉ email này để thêm người dùng vào tài sản Google Analytics 4 mà bạn muốn truy cập thông qua Google Analytics Data API phiên bản 1. Để hướng dẫn này chỉ dành cho Người xem quyền là cần thiết.
Bước 3. Định cấu hình tính năng xác thực
Ứng dụng này trình bày cách sử dụng Google Analytics Data API phiên bản 1 bằng cách sử dụng thông tin đăng nhập cho tài khoản dịch vụ.
Đọc thêm để xem hướng dẫn về cách tạo và thiết lập thông tin đăng nhập tài khoản dịch vụ cho .
Một cách dễ dàng để cung cấp thông tin đăng nhập tài khoản dịch vụ là đặt biến môi trường GOOGLE_APPLICATION_CREDENTIALS, API khách hàng sẽ sử dụng giá trị của biến này để tìm tệp JSON của khoá tài khoản dịch vụ.
Để đặt thông tin xác thực ứng dụng trong ví dụ này, hãy chạy lệnh sau và sử dụng đường dẫn đến tệp JSON của tài khoản dịch vụ được tải xuống ở Bước 1:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
Ví dụ:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/credentials.json"
Bước 4. Cài đặt thư viện ứng dụng
Java
Python
Node.js
.NET
PHP
Go
go get google.golang.org/genproto/googleapis/analytics/data/v1beta
Thực hiện lệnh gọi API
Giờ đây, bạn có thể sử dụng Google Analytics Data API để truy vấn Google Analytics 4 thuộc tính này. Chạy mã sau để thực hiện lệnh gọi đầu tiên đến API:
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; }
Xin chúc mừng! Bạn đã gửi yêu cầu đầu tiên của mình đến Google Analytics Data API.