شروع سریع توسعه دهنده API Admin Google Analytics

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

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

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

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

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

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

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

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

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

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

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

    gcloud components update

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

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

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

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

  • حساب‌های کاربری نشان دهنده یک توسعه‌دهنده، سرپرست یا هر شخص دیگری است که با 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 Admin API را در دستور مشخص کنید. برای اطلاعات بیشتر، به تنظیم اعتبار پیش فرض برنامه مراجعه کنید

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

  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 Admin API را در دستور مشخص کنید. برای اطلاعات بیشتر، به تنظیم اعتبار پیش فرض برنامه مراجعه کنید

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

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

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

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

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

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

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

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

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

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

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

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

  EXPORT PROJECT_ID=PROJECT_ID

یک تماس 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();
            }
        }
    }
}

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

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: ${PROJECT_ID}" \
  -H "Content-Type: application/json" \
  https://analyticsadmin.googleapis.com/v1beta/accounts

پاسخ کد نمونه، حساب‌های Google Analytics را فهرست می‌کند که حساب کاربری یا سرویس شما به مشاهده آنها دسترسی دارد:

{
  "accounts": [
    {
      "name": "accounts/123456789",
      "createTime": "2025-01-01T00:12:23.456Z",
      "createTime": "2025-01-01T00:12:23.456Z",
      "displayName": "Demo Account",
      "regionCode": "US",
      "gmpOrganization": "marketingplatformadmin.googleapis.com/organizations/abcdef12345678"
    }
}