Trang này cho bạn biết cách bắt đầu sử dụng API Quản trị của Google Analytics 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ạo một dự án Cloud Platform mới và tự động bật API Quản trị của Google Analytics:
Bật API Quản trị của Google AnalyticsTrong 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. Định cấu hình tính năng xác thực
Ứng dụng này minh hoạ cách sử dụng API Quản trị của Google Analytics 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/service_account.json"
Bước 3. Cài đặt thư viện ứng dụng
Java
PHP
Python
Node.js
.NET
Ruby
Go
go get google.golang.org/genproto/googleapis/analytics/admin/v1beta
Thực hiện lệnh gọi API
Giờ đây, bạn có thể sử dụng API Quản trị của Google Analytics để liệt kê những thuộc tính tài khoản. Chạy mã sau để thực hiện lệnh gọi đầu tiên đến API:
Java
import com.google.analytics.admin.v1beta.Account; import com.google.analytics.admin.v1beta.AnalyticsAdminServiceClient; import com.google.analytics.admin.v1beta.AnalyticsAdminServiceClient.ListAccountsPage; import com.google.analytics.admin.v1beta.AnalyticsAdminServiceClient.ListAccountsPagedResponse; import com.google.analytics.admin.v1beta.ListAccountsRequest; /** * This application demonstrates the usage of the Analytics Admin API using service account * credentials. For more information on service accounts, see * https://cloud.google.com/iam/docs/understanding-service-accounts. * * <p>The following document provides instructions on setting service account credentials for your * application: https://cloud.google.com/docs/authentication/production * * <p>In a nutshell, you need to: * * <ol> * <li>Create a service account and download the key JSON file as described at * https://cloud.google.com/docs/authentication/production#creating_a_service_account. * <li>Provide service account credentials using one of the following options: * <ul> * <li>Set the {@code GOOGLE_APPLICATION_CREDENTIALS} environment variable. The API client * will use the value of this variable to find the service account key JSON file. See * https://cloud.google.com/docs/authentication/production#setting_the_environment_variable * for more information. * <p>OR * <li>Manually pass the path to the service account key JSON file to the API client by * specifying the {@code keyFilename} parameter in the constructor. See * https://cloud.google.com/docs/authentication/production#passing_the_path_to_the_service_account_key_in_code * for more information. * </ul> * </ol> * * <p>To run this sample using Maven: * * <pre>{@code * cd google-analytics-data * mvn compile exec:java -Dexec.mainClass="com.google.analytics.admin.samples.QuickstartSample" * }</pre> */ public class QuickstartSample { public static void main(String... args) throws Exception { listAccounts(); } // This is an example snippet that calls the Google Analytics Admin API and lists all Google // Analytics accounts available to the authenticated user. static void listAccounts() throws Exception { // Instantiates a client using default credentials. // See https://cloud.google.com/docs/authentication/production for more information // about managing credentials. try (AnalyticsAdminServiceClient analyticsAdmin = AnalyticsAdminServiceClient.create()) { // Calls listAccounts() method of the Google Analytics Admin API and prints // the response for each account. ListAccountsPagedResponse response = analyticsAdmin.listAccounts(ListAccountsRequest.newBuilder().build()); for (ListAccountsPage page : response.iteratePages()) { for (Account account : page.iterateAll()) { System.out.printf("Account name: %s%n", account.getName()); System.out.printf("Display name: %s%n", account.getDisplayName()); System.out.printf("Country code: %s%n", account.getRegionCode()); System.out.printf("Create time: %s%n", account.getCreateTime().getSeconds()); System.out.printf("Update time: %s%n", account.getUpdateTime().getSeconds()); System.out.println(); } } } } }
PHP
require 'vendor/autoload.php'; use Google\Analytics\Admin\V1beta\Account; use Google\Analytics\Admin\V1beta\Client\AnalyticsAdminServiceClient; use Google\Analytics\Admin\V1beta\ListAccountsRequest; /** * 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. // See https://cloud.google.com/docs/authentication/production for more information // about managing credentials. $client = new AnalyticsAdminServiceClient(); // Calls listAccounts() method of the Google Analytics Admin API and prints // the response for each account. $request = new ListAccountsRequest(); $response = $client->listAccounts($request); print 'Result:' . PHP_EOL; foreach($response->iterateAllElements() as $account) { print 'Account name: ' . $account->getName() . PHP_EOL; print 'Display name: ' . $account->getDisplayName() . PHP_EOL; print 'Country code: ' . $account->getRegionCode() . PHP_EOL; print 'Create time: ' . $account->getCreateTime()->getSeconds() . PHP_EOL; print 'Update time: ' . $account->getUpdateTime()->getSeconds() . PHP_EOL; }
Python
def list_accounts(transport: str = None): """ Lists the available Google Analytics accounts. Args: transport(str): The transport to use. For example, "grpc" or "rest". If set to None, a transport is chosen automatically. """ from google.analytics.admin import AnalyticsAdminServiceClient # Using a default constructor instructs the client to use the credentials # specified in GOOGLE_APPLICATION_CREDENTIALS environment variable. client = AnalyticsAdminServiceClient(transport=transport) results = client.list_accounts() # Displays the configuration information for all Google Analytics accounts # available to the authenticated user. print("Result:") for account in results: print(account)
Node.js
// Imports the Google Analytics Admin API client library. const analyticsAdmin = require('@google-analytics/admin'); // Using a default constructor instructs the client to use the credentials // specified in GOOGLE_APPLICATION_CREDENTIALS environment variable. const analyticsAdminClient = new analyticsAdmin.AnalyticsAdminServiceClient(); // Lists all Google Analytics accounts available to the authenticated user. async function listAccounts() { // Uses listAccounts() with no arguments to fetch all pages. For more // information on pagination in the Node.js library, see: // https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#auto-pagination const [response] = await analyticsAdminClient.listAccounts(); console.log('Accounts:'); for (const account of response) { console.log('Account name:', account.name); console.log('Display name:', account.displayName); console.log('Region code:', account.regionCode); console.log('Create time:', account.createTime.seconds); console.log('Update time:', account.updateTime.seconds); } } listAccounts();
.NET
using Google.Analytics.Admin.V1Alpha; using System; namespace AnalyticsSamples { class QuickStart { static void Main(string[] args) { var client = AnalyticsAdminServiceClient.Create(); var response = client.ListAccounts( new ListAccountsRequest() ); foreach( Account account in response ) { Console.WriteLine("Account name: {0}", account.Name); Console.WriteLine("Display name: {0}", account.DisplayName); Console.WriteLine("Country code: {0}", account.CountryCode); Console.WriteLine("Update time: {0}", account.UpdateTime); Console.WriteLine("Create time: {0}", account.CreateTime); Console.WriteLine(); } } } }
Xin chúc mừng! Bạn đã gửi yêu cầu đầu tiên của mình đến API Quản trị của Google Analytics.