本页面介绍了如何通过客户端库以您喜爱的编程语言开始使用 Google Analytics Admin API。
第 1 步:启用 API
点击此按钮即可创建新的 Cloud Platform 项目 启用 Google Analytics Admin API:
在出现的对话框中,点击下载客户端配置并保存文件
credentials.json
到您的工作目录。
第 2 步:配置身份验证
此应用演示了如何使用 服务账号凭据。
了解详情 有关如何为服务账号创建和设置服务账号凭据的说明, 应用。
提供服务账号凭据的一种简单方法是设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量(API 客户端将使用此变量的值查找服务账号密钥 JSON 文件。
如需设置此示例中的应用凭据,请运行以下命令 并使用在第 1 步下载的服务账号 JSON 文件的路径:
export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service_account.json"
第 3 步:安装客户端库
go get google.golang.org/genproto/googleapis/analytics/admin/v1beta
进行 API 调用
现在,您可以使用 Google Analytics Admin API 列出 Google Analytics 账号。运行以下代码以执行对该 API 的首次调用:
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();
}
}
}
}
}
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;
}
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)
// 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();
using Google.Analytics.Admin.V1Beta;
using Google.Api.Gax;
using System;
namespace AnalyticsSamples
{
class QuickStart
{
static void Main(string[] args)
{
AnalyticsAdminServiceClient client = AnalyticsAdminServiceClient.Create();
PagedEnumerable<ListAccountsResponse, Account> 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("Region code: {0}", account.RegionCode);
Console.WriteLine("Update time: {0}", account.UpdateTime);
Console.WriteLine("Create time: {0}", account.CreateTime);
Console.WriteLine();
}
}
}
}
恭喜!您已向 Google Analytics Admin API 发送了您的第一个请求。