Google Analytics অ্যাডমিন API v1-এ স্থানান্তর করুন, Google Analytics অ্যাডমিন API v1-এ স্থানান্তর করুন

API-এর আলফা এবং বিটা উভয় চ্যানেলই সমর্থিত হতে থাকে। বিটা চ্যানেলে আলফা-তে উপলব্ধ বৈশিষ্ট্যগুলির একটি উপসেট রয়েছে যা স্থিতিশীল বলে বিবেচিত হয় এবং ভবিষ্যতে উল্লেখযোগ্য পরিবর্তন হবে বলে আশা করা যায় না। বিটাতে নতুন বৈশিষ্ট্য যোগ করা হবে যখন তারা পরিণত হবে।

এই ডকুমেন্টটি Google Analytics ম্যানেজমেন্ট API v3 থেকে Google Analytics অ্যাডমিন API v1- এ বিদ্যমান কোড কীভাবে স্থানান্তর করতে হয় তার নির্দেশাবলী প্রদান করে এবং দুটি API-এর মধ্যে মূল পার্থক্যের একটি সংক্ষিপ্ত বিবরণ দেয়।

কেন আমি মাইগ্রেট করতে হবে?

আপনার অ্যাপ্লিকেশানের যদি একটি Google Analytics 4 প্রপার্টি তৈরি বা কনফিগার করার প্রয়োজন হয়, তাহলে এটিকে অ্যাডমিন API v1 ব্যবহার করতে হবে। ম্যানেজমেন্ট API v3 শুধুমাত্র ইউনিভার্সাল অ্যানালিটিক্স বৈশিষ্ট্যের সাথে কাজ করে এবং অ্যাডমিন API v1 শুধুমাত্র Google Analytics 4 বৈশিষ্ট্যের সাথে কাজ করে।

পূর্বশর্ত

দ্রুত সূচনা নির্দেশিকাটি পড়ার মাধ্যমে আপনাকে অ্যাডমিন API v1 এর মৌলিক বিষয়গুলির সাথে নিজেকে পরিচিত করা উচিত।

এবার শুরু করা যাক

শুরু করার জন্য, আপনি একটি Google Analytics 4 প্রপার্টি প্রস্তুত করবেন, অ্যাডমিন API v1 সক্ষম করবেন এবং তারপর আপনার প্ল্যাটফর্মের জন্য উপযুক্ত একটি API ক্লায়েন্ট লাইব্রেরি সেট আপ করবেন।

একটি Google Analytics 4 প্রপার্টি প্রস্তুত করুন

অ্যাডমিন API v1 সমর্থন করার জন্য আপনার কোড স্থানান্তর করার আগে, আপনাকে Google Analytics 4 বৈশিষ্ট্য ব্যবহার করতে আপনার ওয়েবসাইট স্থানান্তর করতে হবে।

API সক্ষম করুন

আপনার নির্বাচিত Google ক্লাউড প্রকল্পে অ্যাডমিন API v1 স্বয়ংক্রিয়ভাবে সক্ষম করতে এই বোতামটি ক্লিক করুন৷

Google Analytics অ্যাডমিন API সক্ষম করুন

একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন

একটি ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

আপনি যদি একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে আপনাকে আপনার প্রোগ্রামিং ভাষার জন্য অ্যাডমিন API v1 ক্লায়েন্ট লাইব্রেরি ইনস্টল করতে হবে।

একটি ক্লায়েন্ট লাইব্রেরি শুরু করুন

অ্যাডমিন API v1 ক্লায়েন্ট লাইব্রেরিগুলি আপনাকে দ্রুত শুরু করার জন্য ডিজাইন করা হয়েছে৷ ডিফল্টরূপে, ক্লায়েন্ট লাইব্রেরিগুলি স্বয়ংক্রিয়ভাবে আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি খুঁজে বের করার চেষ্টা করে

পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি প্রদান করার একটি সহজ উপায় হল GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল সেট করা, API ক্লায়েন্ট পরিষেবা অ্যাকাউন্ট কী JSON ফাইলটি খুঁজে পেতে এই ভেরিয়েবলের মান ব্যবহার করবে৷

উদাহরণস্বরূপ, আপনি নিম্নলিখিত কমান্ডটি চালিয়ে এবং পরিষেবা অ্যাকাউন্ট JSON ফাইলের পাথ ব্যবহার করে পরিষেবা অ্যাকাউন্টের শংসাপত্র সেট করতে পারেন:

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

নীচে কোড স্নিপেটগুলি সাধারণত অ্যাডমিন API v1 ক্লায়েন্ট লাইব্রেরিগুলি শুরু করতে ব্যবহৃত হয়৷

জাভা

    try (AnalyticsAdminServiceClient analyticsAdmin = AnalyticsAdminServiceClient.create()) {

পাইথন

client = AlphaAnalyticsAdminClient()

.নেট

AlphaAnalyticsAdminClient client = AlphaAnalyticsAdminClient.Create();

পিএইচপি

$client = new AlphaAnalyticsAdminClient();

Node.js

  // Imports the Google Analytics Data API client library.
  const {AlphaAnalyticsAdminClient} = 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 AlphaAnalyticsAdminClient();

একটি এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করার পরিবর্তে, প্রারম্ভের সময় স্পষ্টভাবে একটি API ক্লায়েন্ট ইনস্ট্যান্সে শংসাপত্রের তথ্য পাস করাও সম্ভব।

আপনি যদি ক্লায়েন্ট লাইব্রেরি ব্যবহার না করেন

আপনি যদি ক্লায়েন্ট লাইব্রেরি ছাড়া ম্যানেজমেন্ট API v3 ব্যবহার করেন এবং অ্যাডমিন API v1 এর সাথে এটি চালিয়ে যেতে চান, আপনি এখনও আপনার শংসাপত্রগুলি ব্যবহার করতে পারেন।

আপনাকে অ্যাডমিন API দ্বারা প্রদত্ত নতুন HTTP এন্ডপয়েন্ট এবং আবিষ্কার নথি ব্যবহার করতে হবে:

যদি আপনার কোড একটি ডিসকভারি ডকুমেন্টের সুবিধা নেয়, তাহলে আপনাকে অ্যাডমিন API v1 দ্বারা প্রদত্ত ডিসকভারি ডকুমেন্টে আপডেট করতে হবে:

এন্ডপয়েন্ট আপডেট করার পরে, আপনার JSON ক্যোয়ারী আপডেট করার জন্য আপনাকে নতুন অনুরোধের কাঠামো এবং অ্যাডমিন API এর ধারণাগুলির সাথে নিজেকে পরিচিত করতে হবে।

সাধারণ কাজ

অ্যাকাউন্ট পরিচালনা করুন

Admin API v1 Google Analytics অ্যাকাউন্টের একটি সেট এবং ম্যানেজমেন্ট API v3 এর সাথে তুলনীয় সম্পত্তি ব্যবস্থাপনা পদ্ধতি প্রদান করে। অতিরিক্তভাবে, অ্যাডমিন API v1 Google Analytics অ্যাকাউন্টগুলির বিধান , মুছে ফেলা , আপডেট করার কার্যকারিতা প্রবর্তন করে৷

  • শুধুমাত্র Google Analytics 4 প্রপার্টি অ্যাডমিন API v1 প্রপার্টি ম্যানেজমেন্ট পদ্ধতি দ্বারা সমর্থিত।

  • অ্যাডমিন এপিআই v1-এ ভিউয়ের ধারণা (প্রোফাইল) নেই।

  • যেহেতু ডেটা স্ট্রীমগুলি Google Analytics 4-এ চালু করা হয়েছিল, তাই কিছু তথ্য সম্পত্তি স্তরে আর উপস্থিত নেই৷ উদাহরণস্বরূপ, websiteUrl ক্ষেত্রটি এখন প্রপার্টি অবজেক্টের অংশ না হয়ে DataStream সত্তায় উপস্থিত।

অ্যাকাউন্ট সারাংশ তালিকা

অ্যাডমিন এপিআই-এর accountSummaries পদ্ধতি কলারের দ্বারা অ্যাক্সেসযোগ্য সমস্ত অ্যাকাউন্টের হালকা সারাংশ প্রদান করে, যা ম্যানেজমেন্ট API v3-এর accountSummaries পদ্ধতির অনুরূপ।

একটি গুরুত্বপূর্ণ পার্থক্য হল যে অ্যাডমিন API v1 শুধুমাত্র Google Analytics 4 বৈশিষ্ট্য সম্পর্কে তথ্য প্রদান করে, যখন ম্যানেজমেন্ট API v3 প্রতিক্রিয়াগুলিতে ইউনিভার্সাল অ্যানালিটিক্সের সাথে তৈরি বৈশিষ্ট্যগুলির ডেটা থাকে৷ একটি একক কল ব্যবহার করে উভয় ধরনের বৈশিষ্ট্য সম্পর্কে তথ্য পুনরুদ্ধার করা সম্ভব নয়।

যেহেতু Google Analytics 4-এ কোনো ভিউ (প্রোফাইল) নেই, তাই অ্যাডমিন API দ্বারা প্রত্যাবর্তিত অ্যাকাউন্ট সারাংশে ভিউ (প্রোফাইল) তথ্য থাকে না।

Google Analytics 4 অ্যাকাউন্টের সারাংশ ডেটা বর্তমান ব্যবহারকারীর কাছে উপলব্ধ অ্যাকাউন্ট/সম্পত্তির সম্পদ এবং প্রদর্শন নামের মধ্যে সীমাবদ্ধ।

account.get এবং property.get পদ্ধতিতে কল করে সম্পূর্ণ কনফিগারেশন ডেটা পুনরুদ্ধার করতে account প্রত্যাবর্তিত সম্পদের নাম , সারাংশ প্রতিক্রিয়ার property ক্ষেত্রগুলি ব্যবহার করুন।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/accountSummaries?key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "accountSummaries": [
    {
      "name": "accountSummaries/XXXXXX",
      "account": "accounts/XXXXXX",
      "displayName": "Test",
      "propertySummaries": [
        {
          "property": "properties/XXXXXX",
          "displayName": "Test App"
        }
      ]
    },
    ...
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accountSummaries?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#accountSummaries",
  "username": "XXXXXX",
  "totalResults": 9,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "XXXXXX",
      "kind": "analytics#accountSummary",
      "name": "Test Account",
      "webProperties": [
        {
          "kind": "analytics#webPropertySummary",
          "id": "UA-XXXXXX",
          "name": "Test Property",
          "internalWebPropertyId": "XXXXXX",
          "level": "STANDARD",
          "websiteUrl": "XXXXXX",
          "profiles": [
            {
              "kind": "analytics#profileSummary",
              "id": "XXXXXX",
              "name": "Test Profile",
              "type": "WEB"
            }
          ]
        },
        ...
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient


def list_account_summaries(transport: str = None) -> None:
    """
    Prints summaries of all accounts accessible by the caller.

    Args:
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_account_summaries()

    print("Result:")
    for account_summary in results:
        print("-- Account --")
        print(f"Resource name: {account_summary.name}")
        print(f"Account name: {account_summary.account}")
        print(f"Display name: {account_summary.display_name}")
        print()
        for property_summary in account_summary.property_summaries:
            print("-- Property --")
            print(f"Property resource name: {property_summary.property}")
            print(f"Property display name: {property_summary.display_name}")
            print()


তালিকা অ্যাকাউন্ট

Admin API v1-এর accounts.list পদ্ধতিটি কলার দ্বারা অ্যাক্সেসযোগ্য সমস্ত অ্যাকাউন্ট ফেরত দেয়, যা ম্যানেজমেন্ট API v3-এর accounts.list পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/accounts?key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "accounts": [
    {
      "name": "accounts/XXXXXX",
      "createTime": "2020-02-21T00:17:33.282Z",
      "updateTime": "2021-01-07T02:47:57.386Z",
      "displayName": "Test Account",
      "regionCode": "US"
    },
  ...
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#accounts",
  "username": "XXXXXX",
  "totalResults": 9,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "XXXXXX",
      "kind": "analytics#account",
      "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
      "name": "Test Account",
      "permissions": {
        "effective": [
          "COLLABORATE",
          "EDIT",
          "READ_AND_ANALYZE"
        ]
      },
      "created": "2020-02-21T00:17:33.282Z",
      "updated": "2021-01-07T02:47:57.386Z",
      "childLink": {
        "type": "analytics#webproperties",
        "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties"
      }
    },
    ...
}

মনে রাখবেন অ্যাডমিন এপিআই v1 প্রতিক্রিয়া কার্যকর ব্যবহারকারীর অনুমতি সম্পর্কে তথ্য অন্তর্ভুক্ত করে না, বা ম্যানেজমেন্ট এপিআই v3 তে উপস্থিত childLink ক্ষেত্রও অন্তর্ভুক্ত করে না।

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient

from accounts_get import print_account


def list_accounts(transport: str = None):
    """
    Lists the Google Analytics accounts available to the current user.

    Args:
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_accounts()

    print("Result:")
    for account in results:
        print_account(account)


বৈশিষ্ট্য পরিচালনা করুন

বৈশিষ্ট্য তালিকা

Admin API v1-এর properties.list পদ্ধতি কলারের দ্বারা অ্যাক্সেসযোগ্য সমস্ত Google Analytics 4 প্রপার্টি প্রদান করে, যা ম্যানেজমেন্ট API v3-এর webproperties.list পদ্ধতির মতো যা সমস্ত অ্যাক্সেসযোগ্য ইউনিভার্সাল অ্যানালিটিক্স প্রপার্টি প্রদান করে।

যেহেতু websiteUrl ক্ষেত্রটি Google Analytics 4-এ প্রপার্টি লেভেলে আর উপস্থিত নেই, তাই প্রপার্টির সাথে যুক্ত সমস্ত ডেটা স্ট্রীম তালিকাভুক্ত করতে properties.dataStreams/list ব্যবহার করুন এবং একটি স্ট্রীমের সাথে যুক্ত ওয়েবসাইট URL পুনরুদ্ধার করতে defaultUri ফিল্ডটি দেখুন।

properties.list অনুরোধের URL-এ filter প্যারামিটারটি নোট করুন। প্যারামিটারের মানটিতে অনুরোধের ফলাফলগুলি ফিল্টার করার জন্য একটি অভিব্যক্তি রয়েছে এবং প্রদত্ত Google Analytics অ্যাকাউন্ট আইডি বা লিঙ্কযুক্ত Firebase প্রকল্পের সাথে সম্পর্কিত বৈশিষ্ট্যগুলি তালিকাভুক্ত করতে ব্যবহার করা যেতে পারে।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/properties?filter=parent:accounts/XXXXXX&key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "properties": [
    {
      "name": "properties/XXXXXX",
      "parent": "accounts/XXXXXX",
      "createTime": "2020-10-29T04:02:49.124Z",
      "updateTime": "2020-10-29T04:02:49.124Z",
      "displayName": "Test Property",
      "timeZone": "America/Los_Angeles",
      "currencyCode": "USD"
    },
    ...
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#webproperties",
  "username": "XXXXXX",
  "totalResults": 33,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "UA-XXXXXX-1",
      "kind": "analytics#webproperty",
      "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-1",
      "accountId": "XXXXXX",
      "internalWebPropertyId": "XXXXXX",
      "name": "Test Account",
      "websiteUrl": "XXXXXX",
      "level": "PREMIUM",
      "profileCount": 4,
      "industryVertical": "HEALTH",
      "defaultProfileId": "XXXXXX",
      "dataRetentionTtl": "INDEFINITE",
      "dataRetentionResetOnNewActivity": true,
      "permissions": {
        "effective": [
          "COLLABORATE",
          "EDIT",
          "READ_AND_ANALYZE"
        ]
      },
      "created": "2020-02-21T00:28:47.287Z",
      "updated": "2021-01-27T21:39:22.704Z",
      "parentLink": {
        "type": "analytics#account",
        "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
      },
      "childLink": {
        "type": "analytics#profiles",
        "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-1/profiles"
      }
    },
    ...
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import ListPropertiesRequest


def run_sample():
    """Runs the sample."""
    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"
    list_properties(account_id)


def list_properties(account_id: str, transport: str = None):
    """
    Lists Google Analytics 4 properties under the specified parent account
    that are available to the current user.

    Args:
        account_id(str): The Google Analytics account ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_properties(
        ListPropertiesRequest(filter=f"parent:accounts/{account_id}", show_deleted=True)
    )

    print("Result:")
    for property_ in results:
        print(property_)
        print()


সম্পত্তি পান

Admin API v1-এর properties.get পদ্ধতি Google Analytics 4 প্রপার্টির তথ্য প্রদান করে, যা ম্যানেজমেন্ট API v3-এর webproperties.get পদ্ধতির মতো।

উল্লেখ্য যে Admin API-এর properties.get পদ্ধতি শুধুমাত্র Google Analytics 4 বৈশিষ্ট্য সমর্থন করে।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/properties/XXXXXX?key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "properties/XXXXXX",
  "parent": "accounts/XXXXXX",
  "createTime": "2021-04-30T21:32:49.804Z",
  "updateTime": "2021-04-30T21:32:49.804Z",
  "displayName": "Test Property",
  "industryCategory": "FINANCE",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD"
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "UA-XXXXXX-3",
  "kind": "analytics#webproperty",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3",
  "accountId": "XXXXXX",
  "internalWebPropertyId": "XXXXXX",
  "name": "Test 2",
  "websiteUrl": "YOUR-WEBSITE-URL",
  "level": "STANDARD",
  "profileCount": 0,
  "industryVertical": "FINANCE",
  "dataRetentionTtl": "MONTHS_26",
  "dataRetentionResetOnNewActivity": true,
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ]
  },
  "created": "2021-05-20T05:35:51.985Z",
  "updated": "2021-05-20T05:41:39.219Z",
  "parentLink": {
    "type": "analytics#account",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
  },
  "childLink": {
    "type": "analytics#profiles",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3/profiles"
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import IndustryCategory


def run_sample():
    """Runs the sample."""
    # TODO(developer): Replace this variable with your Google Analytics 4
    #  property ID (e.g. "123456") before running the sample.
    property_id = "YOUR-GA4-PROPERTY-ID"
    get_property(property_id)


def get_property(property_id: str, transport: str = None):
    """
    Retrieves the Google Analytics 4 property details.

    Args:
        property_id(str): The Google Analytics Property ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    property_ = client.get_property(name=f"properties/{property_id}")

    print("Result:")
    print_property(property_)


def print_property(property):
    """Prints the Google Analytics 4 property details."""
    print(f"Resource name: {property.name}")
    print(f"Parent: {property.parent}")
    print(f"Display name: {property.display_name}")
    print(f"Create time: {property.create_time}")
    print(f"Update time: {property.update_time}")
    # print(f"Delete time: {property.delete_time}")
    # print(f"Expire time: {property.expire_time}")

    if property.industry_category:
        print(f"Industry category: {IndustryCategory(property.industry_category).name}")

    print(f"Time zone: {property.time_zone}")
    print(f"Currency code: {property.currency_code}")


সম্পত্তি তৈরি করুন

Admin API v1-এর properties.create পদ্ধতি একটি নতুন Google Analytics 4 প্রপার্টি তৈরি করে, যা ম্যানেজমেন্ট API v3-এর webproperties.insert পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

POST https://analyticsadmin.googleapis.com/v1beta/properties?key=[YOUR_API_KEY]

{
  "displayName": "Test Property",
  "industryCategory": "AUTOMOTIVE",
  "currencyCode": "USD",
  "timeZone": "America/Los_Angeles",
  "parent": "accounts/XXXXXX"
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "properties/XXXXXX",
  "parent": "accounts/XXXXXX",
  "createTime": "2021-05-20T09:16:08.458Z",
  "updateTime": "2021-05-20T09:16:08.458Z",
  "displayName": "Test Property",
  "industryCategory": "AUTOMOTIVE",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD"
}

ব্যবস্থাপনা API v3 অনুরোধ

POST https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties?key=[YOUR_API_KEY]

{
  "name": "Test",
  "websiteUrl": "YOUR-WEBSITE-URL"
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "UA-XXXXXX-3",
  "kind": "analytics#webproperty",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3",
  "accountId": "XXXXXX",
  "internalWebPropertyId": "XXXXXX",
  "name": "Test",
  "websiteUrl": "YOUR-WEBSITE-URL",
  "level": "STANDARD",
  "profileCount": 0,
  "dataRetentionTtl": "MONTHS_26",
  "dataRetentionResetOnNewActivity": true,
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ]
  },
  "created": "2021-05-20T05:35:51.985Z",
  "updated": "2021-05-20T05:35:51.985Z",
  "parentLink": {
    "type": "analytics#account",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
  },
  "childLink": {
    "type": "analytics#profiles",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3/profiles"
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import Property


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics account ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"
    create_property(account_id)


def create_property(account_id: str, transport: str = None):
    """
    Creates a Google Analytics 4 property.

    Args:
        account_id(str): The Google Analytics Account ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    property_ = client.create_property(
        property=Property(
            parent=f"accounts/{account_id}",
            currency_code="USD",
            display_name="Test property",
            industry_category="OTHER",
            time_zone="America/Los_Angeles",
        )
    )

    print("Result:")
    print(property_)


আপডেট/প্যাচ সম্পত্তি

Admin API v1-এর properties.patch পদ্ধতি একটি Google Analytics 4 প্রপার্টির কনফিগারেশন আপডেট করে, যা ম্যানেজমেন্ট API v3-এর webproperties.patch পদ্ধতির মতো।

অনুরোধের URL-এ updateMask প্যারামিটারটি নোট করুন, যেখানে আপডেট করার জন্য ক্ষেত্রগুলির কমা দ্বারা পৃথক করা তালিকা রয়েছে৷ এই তালিকায় উপস্থিত না থাকা ক্ষেত্রগুলি আপডেট করা হবে না। একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করলে, update_mask প্যারামিটার পদ্ধতি স্বাক্ষরের অংশ হিসাবে উপলব্ধ হবে।

অ্যাডমিন API v1 অনুরোধ

PATCH https://analyticsadmin.googleapis.com/v1beta/properties/XXXXXX?updateMask=displayName,industryCategory&key=[YOUR_API_KEY]

{
  "displayName": "New Property Name",
  "industryCategory": "FINANCE"
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "properties/XXXXXX",
  "parent": "accounts/XXXXXX",
  "createTime": "2021-04-30T21:32:49.804Z",
  "updateTime": "2021-05-20T09:25:14.810Z",
  "displayName": "New Property Name",
  "industryCategory": "FINANCE",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD"
}

ব্যবস্থাপনা API v3 অনুরোধ

PATCH https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3?key=[YOUR_API_KEY]

{
  "name": "New Property Name",
  "industryVertical": "FINANCE"
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "UA-XXXXXX-3",
  "kind": "analytics#webproperty",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3",
  "accountId": "XXXXXX",
  "internalWebPropertyId": "XXXXXX",
  "name": "New Property Name",
  "websiteUrl": "XXXXXX",
  "level": "STANDARD",
  "profileCount": 0,
  "industryVertical": "FINANCE",
  "dataRetentionTtl": "MONTHS_26",
  "dataRetentionResetOnNewActivity": true,
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ]
  },
  "created": "2021-05-20T05:35:51.985Z",
  "updated": "2021-05-20T05:41:39.219Z",
  "parentLink": {
    "type": "analytics#account",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
  },
  "childLink": {
    "type": "analytics#profiles",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3/profiles"
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import Property
from google.protobuf.field_mask_pb2 import FieldMask


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics property ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics 4
    #  property ID (e.g. "123456") before running the sample.
    property_id = "YOUR-GA4-PROPERTY-ID"
    update_property(property_id)


def update_property(property_id: str, transport: str = None):
    """
    Updates the Google Analytics 4 property.

    Args:
        property_id(str): The Google Analytics Property ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    # This call updates the display name, industry category and time zone of the
    # property, as indicated by the value of the `update_mask` field.
    # The property to update is specified in the `name` field of the `Property`
    # instance.
    property_ = client.update_property(
        property=Property(
            name=f"properties/{property_id}",
            display_name="This is an updated test property",
            industry_category="GAMES",
            time_zone="America/New_York",
        ),
        update_mask=FieldMask(paths=["display_name", "time_zone", "industry_category"]),
    )

    print("Result:")
    print(property_)


ব্যবহারকারীদের ম্যানেজ করুন

Google Analytics অ্যাডমিন এপিআই বর্তমানে ম্যানেজমেন্ট এপিআই v3 এর মতো একটি ব্যবহারকারীর অনুমতি মডেল প্রয়োগ করে, তবে কয়েকটি পার্থক্য সহ।

  1. আপনি ম্যানেজমেন্ট API v3-এ AccountUserLink , WebPropertyUserLink এবং ProfileUserLink রিসোর্সের পরিবর্তে অ্যাকাউন্ট AccessBinding এবং প্রপার্টি AccessBinding রিসোর্স ব্যবহার করে Google Analytics অ্যাডমিন API-এর মাধ্যমে ব্যবহারকারীর অনুমতিগুলি পরিচালনা করেন।
  2. Google Analytics অ্যাডমিন এপিআই-এর সম্পত্তি অ্যাক্সেস বাইন্ডিংগুলিতে অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং থেকে উত্তরাধিকারসূত্রে প্রাপ্ত অন্তর্নিহিত অনুমতি বা অনুমতিগুলি অন্তর্ভুক্ত নয়। ম্যানেজমেন্ট এপিআই v3-এ, প্রতিটি ব্যবহারকারীর লিঙ্কে একটি permissions.effective সংগ্রহ রয়েছে যাতে অন্তর্নিহিত এবং উত্তরাধিকারসূত্রে পাওয়া উভয় অনুমতিই অন্তর্ভুক্ত থাকে।

একটি AccessBinding সত্তা একটি ব্যবহারকারী (ই-মেইল ঠিকানা) এবং ব্যবহারকারীকে প্রদত্ত ভূমিকাগুলির একটি তালিকা ধারণ করে। একটি AccessBinding সত্তা তৈরি, আপডেট বা মুছে ফেলা যেতে পারে।

অ্যাডমিন API v1 ভূমিকা নাম এবং ব্যবস্থাপনা API v3 অনুমতি নামের মধ্যে ম্যাপিং নিম্নরূপ:

অ্যাডমিন API v1 ভূমিকা ব্যবস্থাপনা API v3 অনুমতির নাম
পূর্বনির্ধারিত ভূমিকা/দর্শক READ_AND_ANALYZE
পূর্বনির্ধারিত ভূমিকা/বিশ্লেষক সহযোগিতা করুন
পূর্বনির্ধারিত ভূমিকা/সম্পাদক সম্পাদনা করুন
পূর্বনির্ধারিত ভূমিকা/প্রশাসক ব্যবহারকারীদের ম্যানেজ করুন

ভূমিকা predefinedRoles/no-cost-data , predefinedRoles/no-revenue-data অ্যাডমিন এপিআই v1 এ প্রবর্তন করা হয়েছে এবং ম্যানেজমেন্ট এপিআই v3 তে কোনো সংশ্লিষ্ট ম্যাপিং নেই।

এই নির্দেশিকাটি দেখায় কিভাবে অ্যাকাউন্ট-স্তরের অ্যাক্সেস বাইন্ডিং পরিচালনা করতে হয়। সম্পত্তি-স্তরের অ্যাক্সেস বাইন্ডিংগুলি পরিচালনা করতে, একই প্রক্রিয়া অনুসরণ করুন কিন্তু অ্যাকাউন্ট AccessBinding এর জায়গায় সম্পত্তি AccessBinding সংস্থান এবং পদ্ধতিগুলি ব্যবহার করুন।

অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং তালিকাভুক্ত করুন

Admin API v1-এর accounts.accessBindings.list পদ্ধতি একটি অ্যাকাউন্টে সমস্ত অ্যাক্সেস বাইন্ডিং তালিকাভুক্ত করে, যা ম্যানেজমেন্ট API v3-এর accountUserLinks.list পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1alpha/accounts/XXXXXX/accessBindings/XXXXXXXX

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "accessBindings": [
    {
      "name": "accounts/XXXXXX/accessBindings/XXXXXX",
      "user": "XXXXXX",
      "roles": [
        "predefinedRoles/editor",
        "predefinedRoles/admin"
      ]
    }
  ]
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#entityUserLinks",
  "totalResults": 1,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "XXXXXX:XXXXXX",
      "kind": "analytics#entityUserLink",
      "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX:XXXXXX",
      "entity": {
        "accountRef": {
          "id": "XXXXXX",
          "kind": "analytics#accountRef",
          "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
          "name": "This is a test account"
        }
      },
      "userRef": {
        "kind": "analytics#userRef",
        "id": "XXXXXX",
        "email": "XXXXXX"
      },
      "permissions": {
        "effective": [
          "COLLABORATE",
          "EDIT",
          "MANAGE_USERS",
          "READ_AND_ANALYZE"
        ],
        "local": [
          "EDIT",
          "MANAGE_USERS"
        ]
      }
    }
  ]
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient


def run_sample():
    """Runs the sample."""
    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"
    list_account_access_bindings(account_id)


def list_account_access_bindings(account_id: str, transport: str = None):
    """
    Lists access bindings under the specified parent account.

    Args:
        account_id(str): The id of the account.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_access_bindings(parent=f"accounts/{account_id}")

    print("Result:")
    for access_binding in results:
        print(access_binding)
        print()


অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং আপডেট করুন

Admin API v1-এর accounts.accessBindings.patch পদ্ধতি একটি অ্যাকাউন্টের অ্যাক্সেস বাইন্ডিং আপডেট করে, যা ম্যানেজমেন্ট API v3-এর accountUserLinks.update পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

PATCH https://analyticsadmin.googleapis.com/v1alpha/accounts/XXXXXX/accessBindings/XXXXXXXX

{
  "roles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ]
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "accounts/XXXXXX/accessBindings/XXXXXXXX",
  "user": "USER-EMAIL",
  "directRoles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ]
}

ব্যবস্থাপনা API v3 অনুরোধ

PUT https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX%3A104236685715552897132?key=[YOUR_API_KEY]

{
  "entity": {
    "accountRef": {
      "id": "XXXXXX"
    }
  },
  "userRef": {
    "email": "XXXXXX"
  },
  "permissions": {
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "XXXXXX:104236685715552897132",
  "kind": "analytics#entityUserLink",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX:104236685715552897132",
  "entity": {
    "accountRef": {
      "id": "XXXXXX",
      "kind": "analytics#accountRef",
      "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
      "name": "This is a test account"
    }
  },
  "userRef": {
    "kind": "analytics#userRef",
    "id": "104236685715552897132",
    "email": "XXXXXX"
  },
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ],
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import AccessBinding


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics property ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"

    # TODO(developer): Replace this variable with your Google Analytics
    #  account access binding ID (e.g. "123456") before running the sample.
    account_access_binding_id = "YOUR-ACCOUNT-ACCESS-BINDING-ID"

    update_account_access_binding(account_id, account_access_binding_id)


def update_account_access_binding(
    account_id: str, account_access_binding_id: str, transport: str = None
):
    """
    Updates the account access binding.

    Args:
        account_id(str): The Google Analytics Account ID.
        account_access_binding_id(str): Google Analytics account access binding ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    # This call updates the roles of the access binding. The access binding to
    # update is specified in the `name` field of the `AccessBinding` instance.
    access_binding = client.update_access_binding(
        access_binding=AccessBinding(
            name=f"accounts/{account_id}/accessBindings/{account_access_binding_id}",
            roles=["predefinedRoles/collaborate"],
        ),
    )

    print("Result:")
    print(access_binding)


অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং তৈরি করুন

Admin API v1-এর accounts.accessBindings.create পদ্ধতি একটি অ্যাকাউন্টে অ্যাক্সেস বাইন্ডিং তৈরি করে, যা ম্যানেজমেন্ট API v3-এর accountUserLinks.insert পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

POST https://analyticsadmin.googleapis.com/v1alpha/accounts/XXXXXX/accessBindings

{
  "roles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ],
  "user": "USER-EMAIL"
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "accounts/XXXXXX/accessBindings/XXXXXXXX",
  "user": "USER-EMAIL",
  "roles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ]
}

ব্যবস্থাপনা API v3 অনুরোধ

POST https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks?key=[YOUR_API_KEY]

{
  "entity": {
    "accountRef": {
      "id": "XXXXXX"
    }
  },
  "userRef": {
    "email": "XXXXXX"
  },
  "permissions": {
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "XXXXXX:114236685715552897132",
  "kind": "analytics#entityUserLink",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX:114236685715552897132",
  "entity": {
    "accountRef": {
      "id": "XXXXXX",
      "kind": "analytics#accountRef",
      "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
      "name": "This is a test account"
    }
  },
  "userRef": {
    "kind": "analytics#userRef",
    "id": "114236685715552897132",
    "email": "XXXXXX"
  },
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ],
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import (
    AccessBinding,
    CreateAccessBindingRequest,
)


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics account ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"

    # TODO(developer): Replace this variable with an email address of the user to
    #  link. This user will be given access to your account after running the
    #  sample.
    email_address = "TEST-EMAIL-ADDRESS"

    create_account_access_binding(account_id, email_address)


def create_account_access_binding(
    account_id: str, email_address: str, transport: str = None
):
    """
    Creates a access binding for the account.

    Args:
        account_id(str): The Google Analytics Account ID.
        email_address(str): Email address of the access binding user.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    access_binding = client.create_access_binding(
        CreateAccessBindingRequest(
            parent=f"accounts/{account_id}",
            access_binding=AccessBinding(
                user=email_address, roles=["predefinedRoles/read"]
            ),
        )
    )

    print("Result:")
    print(access_binding)


ব্যাচিং

ম্যানেজমেন্ট API v3 এর বিপরীতে অ্যাডমিন API v1 মাল্টিপার্ট/মিশ্র সামগ্রীর ধরন ব্যবহার করে একাধিক Google Analytics API কল ব্যাচ করা সমর্থন করে না।

পরিবর্তে, API স্তরে ব্যাচিং স্পষ্টভাবে সমর্থিত। অ্যাডমিন API v1 এর নিম্নলিখিত পদ্ধতিগুলি ব্যাচিং কার্যকারিতা সমর্থন করে:

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import (
    AccessBinding,
    BatchCreateAccessBindingsRequest,
    CreateAccessBindingRequest,
)


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics account ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"

    # TODO(developer): Replace this variable with an email address of the user to
    #  link. This user will be given access to your account after running the
    #  sample.
    email_address = "TEST-EMAIL-ADDRESS"

    batch_create_account_access_binding(account_id, email_address)


def batch_create_account_access_binding(
    account_id: str, email_address: str, transport: str = None
):
    """
    Creates a access binding for the account using a batch call.

    Args:
        account_id(str): The Google Analytics Account ID.
        email_address(str): Email address of the access binding user.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    response = client.batch_create_access_bindings(
        BatchCreateAccessBindingsRequest(
            parent=f"accounts/{account_id}",
            requests=[
                CreateAccessBindingRequest(
                    access_binding=AccessBinding(
                        user=email_address,
                        roles=["predefinedRoles/read"],
                    )
                )
            ],
        )
    )

    print("Result:")
    for access_binding in response.access_bindings:
        print(access_binding)
        print()


API কোটা পরিবর্তন

Admin API v1 ব্যবস্থাপনা API v3 এর তুলনায় কম সীমাবদ্ধ কোটা প্রবর্তন করে।

  • অ্যাডমিন API v1-এ অনুরোধের সংখ্যা একটি GCP প্রকল্পের জন্য ডিফল্টভাবে প্রতি মিনিটে 600 অনুরোধের হার সীমাবদ্ধ।
  • বর্তমানে, প্রতি GCP প্রকল্পে অ্যাডমিন API v1 কলের সংখ্যার উপর কোনো দৈনিক সীমা কোটা নেই । মনে রাখবেন যে তাত্ত্বিকভাবে প্রতিদিন অনুরোধের সর্বোচ্চ সংখ্যা এখনও প্রতি মিনিটের অনুরোধের দ্বারা সীমিত।
  • প্রতিদিন লেখার ক্রিয়াকলাপের সংখ্যার একটি পৃথক সীমা সরানো হয়েছে।
,

API-এর আলফা এবং বিটা উভয় চ্যানেলই সমর্থিত হতে থাকে। বিটা চ্যানেলে আলফা-তে উপলব্ধ বৈশিষ্ট্যগুলির একটি উপসেট রয়েছে যা স্থিতিশীল বলে বিবেচিত হয় এবং ভবিষ্যতে উল্লেখযোগ্য পরিবর্তন হবে বলে আশা করা যায় না। বিটাতে নতুন বৈশিষ্ট্য যোগ করা হবে যখন তারা পরিণত হবে।

এই ডকুমেন্টটি Google Analytics ম্যানেজমেন্ট API v3 থেকে Google Analytics অ্যাডমিন API v1- এ বিদ্যমান কোড কীভাবে স্থানান্তর করতে হয় তার নির্দেশাবলী প্রদান করে এবং দুটি API-এর মধ্যে মূল পার্থক্যের একটি সংক্ষিপ্ত বিবরণ দেয়।

কেন আমি মাইগ্রেট করতে হবে?

আপনার অ্যাপ্লিকেশানের যদি একটি Google Analytics 4 প্রপার্টি তৈরি বা কনফিগার করার প্রয়োজন হয়, তাহলে এটিকে অ্যাডমিন API v1 ব্যবহার করতে হবে। ম্যানেজমেন্ট API v3 শুধুমাত্র ইউনিভার্সাল অ্যানালিটিক্স বৈশিষ্ট্যের সাথে কাজ করে এবং অ্যাডমিন API v1 শুধুমাত্র Google Analytics 4 বৈশিষ্ট্যের সাথে কাজ করে।

পূর্বশর্ত

দ্রুত সূচনা নির্দেশিকাটি পড়ার মাধ্যমে আপনাকে অ্যাডমিন API v1 এর মৌলিক বিষয়গুলির সাথে নিজেকে পরিচিত করা উচিত।

এবার শুরু করা যাক

শুরু করার জন্য, আপনি একটি Google Analytics 4 প্রপার্টি প্রস্তুত করবেন, অ্যাডমিন API v1 সক্ষম করবেন এবং তারপর আপনার প্ল্যাটফর্মের জন্য উপযুক্ত একটি API ক্লায়েন্ট লাইব্রেরি সেট আপ করবেন।

একটি Google Analytics 4 প্রপার্টি প্রস্তুত করুন

অ্যাডমিন API v1 সমর্থন করার জন্য আপনার কোড স্থানান্তর করার আগে, আপনাকে Google Analytics 4 বৈশিষ্ট্য ব্যবহার করতে আপনার ওয়েবসাইট স্থানান্তর করতে হবে।

API সক্ষম করুন

আপনার নির্বাচিত Google ক্লাউড প্রকল্পে অ্যাডমিন API v1 স্বয়ংক্রিয়ভাবে সক্ষম করতে এই বোতামটি ক্লিক করুন৷

Google Analytics অ্যাডমিন API সক্ষম করুন

একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন

একটি ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

আপনি যদি একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে আপনাকে আপনার প্রোগ্রামিং ভাষার জন্য অ্যাডমিন API v1 ক্লায়েন্ট লাইব্রেরি ইনস্টল করতে হবে।

একটি ক্লায়েন্ট লাইব্রেরি শুরু করুন

অ্যাডমিন API v1 ক্লায়েন্ট লাইব্রেরিগুলি আপনাকে দ্রুত শুরু করার জন্য ডিজাইন করা হয়েছে৷ ডিফল্টরূপে, ক্লায়েন্ট লাইব্রেরিগুলি স্বয়ংক্রিয়ভাবে আপনার পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি খুঁজে বের করার চেষ্টা করে

পরিষেবা অ্যাকাউন্টের শংসাপত্রগুলি প্রদান করার একটি সহজ উপায় হল GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল সেট করা, API ক্লায়েন্ট পরিষেবা অ্যাকাউন্ট কী JSON ফাইলটি খুঁজে পেতে এই ভেরিয়েবলের মান ব্যবহার করবে৷

উদাহরণস্বরূপ, আপনি নিম্নলিখিত কমান্ডটি চালিয়ে এবং পরিষেবা অ্যাকাউন্ট JSON ফাইলের পাথ ব্যবহার করে পরিষেবা অ্যাকাউন্টের শংসাপত্র সেট করতে পারেন:

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

নীচে কোড স্নিপেটগুলি সাধারণত অ্যাডমিন API v1 ক্লায়েন্ট লাইব্রেরিগুলি শুরু করতে ব্যবহৃত হয়৷

জাভা

    try (AnalyticsAdminServiceClient analyticsAdmin = AnalyticsAdminServiceClient.create()) {

পাইথন

client = AlphaAnalyticsAdminClient()

.নেট

AlphaAnalyticsAdminClient client = AlphaAnalyticsAdminClient.Create();

পিএইচপি

$client = new AlphaAnalyticsAdminClient();

Node.js

  // Imports the Google Analytics Data API client library.
  const {AlphaAnalyticsAdminClient} = 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 AlphaAnalyticsAdminClient();

একটি এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করার পরিবর্তে, প্রারম্ভের সময় স্পষ্টভাবে একটি API ক্লায়েন্ট ইনস্ট্যান্সে শংসাপত্রের তথ্য পাস করাও সম্ভব।

আপনি যদি ক্লায়েন্ট লাইব্রেরি ব্যবহার না করেন

আপনি যদি ক্লায়েন্ট লাইব্রেরি ছাড়া ম্যানেজমেন্ট API v3 ব্যবহার করেন এবং অ্যাডমিন API v1 এর সাথে এটি চালিয়ে যেতে চান, আপনি এখনও আপনার শংসাপত্রগুলি ব্যবহার করতে পারেন।

আপনাকে অ্যাডমিন API দ্বারা প্রদত্ত নতুন HTTP এন্ডপয়েন্ট এবং আবিষ্কার নথি ব্যবহার করতে হবে:

যদি আপনার কোড একটি ডিসকভারি ডকুমেন্টের সুবিধা নেয়, তাহলে আপনাকে অ্যাডমিন API v1 দ্বারা প্রদত্ত ডিসকভারি ডকুমেন্টে আপডেট করতে হবে:

এন্ডপয়েন্ট আপডেট করার পরে, আপনার JSON ক্যোয়ারী আপডেট করার জন্য আপনাকে নতুন অনুরোধের কাঠামো এবং অ্যাডমিন API এর ধারণাগুলির সাথে নিজেকে পরিচিত করতে হবে।

সাধারণ কাজ

অ্যাকাউন্ট পরিচালনা করুন

Admin API v1 Google Analytics অ্যাকাউন্টের একটি সেট এবং ম্যানেজমেন্ট API v3 এর সাথে তুলনীয় সম্পত্তি ব্যবস্থাপনা পদ্ধতি প্রদান করে। অতিরিক্তভাবে, অ্যাডমিন API v1 Google Analytics অ্যাকাউন্টগুলির বিধান , মুছে ফেলা , আপডেট করার কার্যকারিতা প্রবর্তন করে৷

  • শুধুমাত্র Google Analytics 4 প্রপার্টি অ্যাডমিন API v1 প্রপার্টি ম্যানেজমেন্ট পদ্ধতি দ্বারা সমর্থিত।

  • অ্যাডমিন এপিআই v1-এ ভিউয়ের ধারণা (প্রোফাইল) নেই।

  • যেহেতু ডেটা স্ট্রীমগুলি Google Analytics 4-এ চালু করা হয়েছিল, তাই কিছু তথ্য সম্পত্তি স্তরে আর উপস্থিত নেই৷ উদাহরণস্বরূপ, websiteUrl ক্ষেত্রটি এখন প্রপার্টি অবজেক্টের অংশ না হয়ে DataStream সত্তায় উপস্থিত।

অ্যাকাউন্ট সারাংশ তালিকা

অ্যাডমিন এপিআই-এর accountSummaries পদ্ধতি কলারের দ্বারা অ্যাক্সেসযোগ্য সমস্ত অ্যাকাউন্টের হালকা সারাংশ প্রদান করে, যা ম্যানেজমেন্ট API v3-এর accountSummaries পদ্ধতির অনুরূপ।

একটি গুরুত্বপূর্ণ পার্থক্য হল যে অ্যাডমিন API v1 শুধুমাত্র Google Analytics 4 বৈশিষ্ট্য সম্পর্কে তথ্য প্রদান করে, যখন ম্যানেজমেন্ট API v3 প্রতিক্রিয়াগুলিতে ইউনিভার্সাল অ্যানালিটিক্সের সাথে তৈরি বৈশিষ্ট্যগুলির ডেটা থাকে৷ একটি একক কল ব্যবহার করে উভয় ধরনের বৈশিষ্ট্য সম্পর্কে তথ্য পুনরুদ্ধার করা সম্ভব নয়।

যেহেতু Google Analytics 4-এ কোনো ভিউ (প্রোফাইল) নেই, তাই অ্যাডমিন API দ্বারা প্রত্যাবর্তিত অ্যাকাউন্ট সারাংশে ভিউ (প্রোফাইল) তথ্য থাকে না।

Google Analytics 4 অ্যাকাউন্টের সারাংশ ডেটা বর্তমান ব্যবহারকারীর কাছে উপলব্ধ অ্যাকাউন্ট/সম্পত্তির সম্পদ এবং প্রদর্শন নামের মধ্যে সীমাবদ্ধ।

account.get এবং property.get পদ্ধতিতে কল করে সম্পূর্ণ কনফিগারেশন ডেটা পুনরুদ্ধার করতে account প্রত্যাবর্তিত সম্পদের নাম , সারাংশ প্রতিক্রিয়ার property ক্ষেত্রগুলি ব্যবহার করুন।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/accountSummaries?key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "accountSummaries": [
    {
      "name": "accountSummaries/XXXXXX",
      "account": "accounts/XXXXXX",
      "displayName": "Test",
      "propertySummaries": [
        {
          "property": "properties/XXXXXX",
          "displayName": "Test App"
        }
      ]
    },
    ...
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accountSummaries?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#accountSummaries",
  "username": "XXXXXX",
  "totalResults": 9,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "XXXXXX",
      "kind": "analytics#accountSummary",
      "name": "Test Account",
      "webProperties": [
        {
          "kind": "analytics#webPropertySummary",
          "id": "UA-XXXXXX",
          "name": "Test Property",
          "internalWebPropertyId": "XXXXXX",
          "level": "STANDARD",
          "websiteUrl": "XXXXXX",
          "profiles": [
            {
              "kind": "analytics#profileSummary",
              "id": "XXXXXX",
              "name": "Test Profile",
              "type": "WEB"
            }
          ]
        },
        ...
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient


def list_account_summaries(transport: str = None) -> None:
    """
    Prints summaries of all accounts accessible by the caller.

    Args:
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_account_summaries()

    print("Result:")
    for account_summary in results:
        print("-- Account --")
        print(f"Resource name: {account_summary.name}")
        print(f"Account name: {account_summary.account}")
        print(f"Display name: {account_summary.display_name}")
        print()
        for property_summary in account_summary.property_summaries:
            print("-- Property --")
            print(f"Property resource name: {property_summary.property}")
            print(f"Property display name: {property_summary.display_name}")
            print()


তালিকা অ্যাকাউন্ট

Admin API v1-এর accounts.list পদ্ধতিটি কলার দ্বারা অ্যাক্সেসযোগ্য সমস্ত অ্যাকাউন্ট ফেরত দেয়, যা ম্যানেজমেন্ট API v3-এর accounts.list পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/accounts?key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "accounts": [
    {
      "name": "accounts/XXXXXX",
      "createTime": "2020-02-21T00:17:33.282Z",
      "updateTime": "2021-01-07T02:47:57.386Z",
      "displayName": "Test Account",
      "regionCode": "US"
    },
  ...
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#accounts",
  "username": "XXXXXX",
  "totalResults": 9,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "XXXXXX",
      "kind": "analytics#account",
      "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
      "name": "Test Account",
      "permissions": {
        "effective": [
          "COLLABORATE",
          "EDIT",
          "READ_AND_ANALYZE"
        ]
      },
      "created": "2020-02-21T00:17:33.282Z",
      "updated": "2021-01-07T02:47:57.386Z",
      "childLink": {
        "type": "analytics#webproperties",
        "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties"
      }
    },
    ...
}

মনে রাখবেন অ্যাডমিন এপিআই v1 প্রতিক্রিয়া কার্যকর ব্যবহারকারীর অনুমতি সম্পর্কে তথ্য অন্তর্ভুক্ত করে না, বা ম্যানেজমেন্ট এপিআই v3 তে উপস্থিত childLink ক্ষেত্রও অন্তর্ভুক্ত করে না।

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient

from accounts_get import print_account


def list_accounts(transport: str = None):
    """
    Lists the Google Analytics accounts available to the current user.

    Args:
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_accounts()

    print("Result:")
    for account in results:
        print_account(account)


বৈশিষ্ট্য পরিচালনা করুন

বৈশিষ্ট্য তালিকা

Admin API v1-এর properties.list পদ্ধতি কলারের দ্বারা অ্যাক্সেসযোগ্য সমস্ত Google Analytics 4 প্রপার্টি প্রদান করে, যা ম্যানেজমেন্ট API v3-এর webproperties.list পদ্ধতির মতো যা সমস্ত অ্যাক্সেসযোগ্য ইউনিভার্সাল অ্যানালিটিক্স প্রপার্টি প্রদান করে।

যেহেতু websiteUrl ক্ষেত্রটি Google Analytics 4-এ প্রপার্টি লেভেলে আর উপস্থিত নেই, তাই প্রপার্টির সাথে যুক্ত সমস্ত ডেটা স্ট্রীম তালিকাভুক্ত করতে properties.dataStreams/list ব্যবহার করুন এবং একটি স্ট্রীমের সাথে যুক্ত ওয়েবসাইট URL পুনরুদ্ধার করতে defaultUri ফিল্ডটি দেখুন।

properties.list অনুরোধের URL-এ filter প্যারামিটারটি নোট করুন। প্যারামিটারের মানটিতে অনুরোধের ফলাফলগুলি ফিল্টার করার জন্য একটি অভিব্যক্তি রয়েছে এবং প্রদত্ত Google Analytics অ্যাকাউন্ট আইডি বা লিঙ্কযুক্ত Firebase প্রকল্পের সাথে সম্পর্কিত বৈশিষ্ট্যগুলি তালিকাভুক্ত করতে ব্যবহার করা যেতে পারে।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/properties?filter=parent:accounts/XXXXXX&key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "properties": [
    {
      "name": "properties/XXXXXX",
      "parent": "accounts/XXXXXX",
      "createTime": "2020-10-29T04:02:49.124Z",
      "updateTime": "2020-10-29T04:02:49.124Z",
      "displayName": "Test Property",
      "timeZone": "America/Los_Angeles",
      "currencyCode": "USD"
    },
    ...
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#webproperties",
  "username": "XXXXXX",
  "totalResults": 33,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "UA-XXXXXX-1",
      "kind": "analytics#webproperty",
      "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-1",
      "accountId": "XXXXXX",
      "internalWebPropertyId": "XXXXXX",
      "name": "Test Account",
      "websiteUrl": "XXXXXX",
      "level": "PREMIUM",
      "profileCount": 4,
      "industryVertical": "HEALTH",
      "defaultProfileId": "XXXXXX",
      "dataRetentionTtl": "INDEFINITE",
      "dataRetentionResetOnNewActivity": true,
      "permissions": {
        "effective": [
          "COLLABORATE",
          "EDIT",
          "READ_AND_ANALYZE"
        ]
      },
      "created": "2020-02-21T00:28:47.287Z",
      "updated": "2021-01-27T21:39:22.704Z",
      "parentLink": {
        "type": "analytics#account",
        "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
      },
      "childLink": {
        "type": "analytics#profiles",
        "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-1/profiles"
      }
    },
    ...
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import ListPropertiesRequest


def run_sample():
    """Runs the sample."""
    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"
    list_properties(account_id)


def list_properties(account_id: str, transport: str = None):
    """
    Lists Google Analytics 4 properties under the specified parent account
    that are available to the current user.

    Args:
        account_id(str): The Google Analytics account ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_properties(
        ListPropertiesRequest(filter=f"parent:accounts/{account_id}", show_deleted=True)
    )

    print("Result:")
    for property_ in results:
        print(property_)
        print()


সম্পত্তি পান

Admin API v1-এর properties.get পদ্ধতি Google Analytics 4 প্রপার্টির তথ্য প্রদান করে, যা ম্যানেজমেন্ট API v3-এর webproperties.get পদ্ধতির মতো।

উল্লেখ্য যে Admin API-এর properties.get পদ্ধতি শুধুমাত্র Google Analytics 4 বৈশিষ্ট্য সমর্থন করে।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1beta/properties/XXXXXX?key=[YOUR_API_KEY]

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "properties/XXXXXX",
  "parent": "accounts/XXXXXX",
  "createTime": "2021-04-30T21:32:49.804Z",
  "updateTime": "2021-04-30T21:32:49.804Z",
  "displayName": "Test Property",
  "industryCategory": "FINANCE",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD"
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "UA-XXXXXX-3",
  "kind": "analytics#webproperty",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3",
  "accountId": "XXXXXX",
  "internalWebPropertyId": "XXXXXX",
  "name": "Test 2",
  "websiteUrl": "YOUR-WEBSITE-URL",
  "level": "STANDARD",
  "profileCount": 0,
  "industryVertical": "FINANCE",
  "dataRetentionTtl": "MONTHS_26",
  "dataRetentionResetOnNewActivity": true,
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ]
  },
  "created": "2021-05-20T05:35:51.985Z",
  "updated": "2021-05-20T05:41:39.219Z",
  "parentLink": {
    "type": "analytics#account",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
  },
  "childLink": {
    "type": "analytics#profiles",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3/profiles"
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import IndustryCategory


def run_sample():
    """Runs the sample."""
    # TODO(developer): Replace this variable with your Google Analytics 4
    #  property ID (e.g. "123456") before running the sample.
    property_id = "YOUR-GA4-PROPERTY-ID"
    get_property(property_id)


def get_property(property_id: str, transport: str = None):
    """
    Retrieves the Google Analytics 4 property details.

    Args:
        property_id(str): The Google Analytics Property ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    property_ = client.get_property(name=f"properties/{property_id}")

    print("Result:")
    print_property(property_)


def print_property(property):
    """Prints the Google Analytics 4 property details."""
    print(f"Resource name: {property.name}")
    print(f"Parent: {property.parent}")
    print(f"Display name: {property.display_name}")
    print(f"Create time: {property.create_time}")
    print(f"Update time: {property.update_time}")
    # print(f"Delete time: {property.delete_time}")
    # print(f"Expire time: {property.expire_time}")

    if property.industry_category:
        print(f"Industry category: {IndustryCategory(property.industry_category).name}")

    print(f"Time zone: {property.time_zone}")
    print(f"Currency code: {property.currency_code}")


সম্পত্তি তৈরি করুন

Admin API v1-এর properties.create পদ্ধতি একটি নতুন Google Analytics 4 প্রপার্টি তৈরি করে, যা ম্যানেজমেন্ট API v3-এর webproperties.insert পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

POST https://analyticsadmin.googleapis.com/v1beta/properties?key=[YOUR_API_KEY]

{
  "displayName": "Test Property",
  "industryCategory": "AUTOMOTIVE",
  "currencyCode": "USD",
  "timeZone": "America/Los_Angeles",
  "parent": "accounts/XXXXXX"
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "properties/XXXXXX",
  "parent": "accounts/XXXXXX",
  "createTime": "2021-05-20T09:16:08.458Z",
  "updateTime": "2021-05-20T09:16:08.458Z",
  "displayName": "Test Property",
  "industryCategory": "AUTOMOTIVE",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD"
}

ব্যবস্থাপনা API v3 অনুরোধ

POST https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties?key=[YOUR_API_KEY]

{
  "name": "Test",
  "websiteUrl": "YOUR-WEBSITE-URL"
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "UA-XXXXXX-3",
  "kind": "analytics#webproperty",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3",
  "accountId": "XXXXXX",
  "internalWebPropertyId": "XXXXXX",
  "name": "Test",
  "websiteUrl": "YOUR-WEBSITE-URL",
  "level": "STANDARD",
  "profileCount": 0,
  "dataRetentionTtl": "MONTHS_26",
  "dataRetentionResetOnNewActivity": true,
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ]
  },
  "created": "2021-05-20T05:35:51.985Z",
  "updated": "2021-05-20T05:35:51.985Z",
  "parentLink": {
    "type": "analytics#account",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
  },
  "childLink": {
    "type": "analytics#profiles",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3/profiles"
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import Property


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics account ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"
    create_property(account_id)


def create_property(account_id: str, transport: str = None):
    """
    Creates a Google Analytics 4 property.

    Args:
        account_id(str): The Google Analytics Account ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    property_ = client.create_property(
        property=Property(
            parent=f"accounts/{account_id}",
            currency_code="USD",
            display_name="Test property",
            industry_category="OTHER",
            time_zone="America/Los_Angeles",
        )
    )

    print("Result:")
    print(property_)


আপডেট/প্যাচ সম্পত্তি

Admin API v1-এর properties.patch পদ্ধতি একটি Google Analytics 4 প্রপার্টির কনফিগারেশন আপডেট করে, যা ম্যানেজমেন্ট API v3-এর webproperties.patch পদ্ধতির মতো।

অনুরোধের URL-এ updateMask প্যারামিটারটি নোট করুন, যেখানে আপডেট করার জন্য ক্ষেত্রগুলির কমা দ্বারা পৃথক করা তালিকা রয়েছে৷ এই তালিকায় উপস্থিত না থাকা ক্ষেত্রগুলি আপডেট করা হবে না। একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করলে, update_mask প্যারামিটার পদ্ধতি স্বাক্ষরের অংশ হিসাবে উপলব্ধ হবে।

অ্যাডমিন API v1 অনুরোধ

PATCH https://analyticsadmin.googleapis.com/v1beta/properties/XXXXXX?updateMask=displayName,industryCategory&key=[YOUR_API_KEY]

{
  "displayName": "New Property Name",
  "industryCategory": "FINANCE"
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "properties/XXXXXX",
  "parent": "accounts/XXXXXX",
  "createTime": "2021-04-30T21:32:49.804Z",
  "updateTime": "2021-05-20T09:25:14.810Z",
  "displayName": "New Property Name",
  "industryCategory": "FINANCE",
  "timeZone": "America/Los_Angeles",
  "currencyCode": "USD"
}

ব্যবস্থাপনা API v3 অনুরোধ

PATCH https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3?key=[YOUR_API_KEY]

{
  "name": "New Property Name",
  "industryVertical": "FINANCE"
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "UA-XXXXXX-3",
  "kind": "analytics#webproperty",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3",
  "accountId": "XXXXXX",
  "internalWebPropertyId": "XXXXXX",
  "name": "New Property Name",
  "websiteUrl": "XXXXXX",
  "level": "STANDARD",
  "profileCount": 0,
  "industryVertical": "FINANCE",
  "dataRetentionTtl": "MONTHS_26",
  "dataRetentionResetOnNewActivity": true,
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ]
  },
  "created": "2021-05-20T05:35:51.985Z",
  "updated": "2021-05-20T05:41:39.219Z",
  "parentLink": {
    "type": "analytics#account",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX"
  },
  "childLink": {
    "type": "analytics#profiles",
    "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/webproperties/UA-XXXXXX-3/profiles"
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import Property
from google.protobuf.field_mask_pb2 import FieldMask


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics property ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics 4
    #  property ID (e.g. "123456") before running the sample.
    property_id = "YOUR-GA4-PROPERTY-ID"
    update_property(property_id)


def update_property(property_id: str, transport: str = None):
    """
    Updates the Google Analytics 4 property.

    Args:
        property_id(str): The Google Analytics Property ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    # This call updates the display name, industry category and time zone of the
    # property, as indicated by the value of the `update_mask` field.
    # The property to update is specified in the `name` field of the `Property`
    # instance.
    property_ = client.update_property(
        property=Property(
            name=f"properties/{property_id}",
            display_name="This is an updated test property",
            industry_category="GAMES",
            time_zone="America/New_York",
        ),
        update_mask=FieldMask(paths=["display_name", "time_zone", "industry_category"]),
    )

    print("Result:")
    print(property_)


ব্যবহারকারীদের ম্যানেজ করুন

Google Analytics অ্যাডমিন এপিআই বর্তমানে ম্যানেজমেন্ট এপিআই v3 এর মতো একটি ব্যবহারকারীর অনুমতি মডেল প্রয়োগ করে, তবে কয়েকটি পার্থক্য সহ।

  1. আপনি ম্যানেজমেন্ট API v3-এ AccountUserLink , WebPropertyUserLink এবং ProfileUserLink রিসোর্সের পরিবর্তে অ্যাকাউন্ট AccessBinding এবং প্রপার্টি AccessBinding রিসোর্স ব্যবহার করে Google Analytics অ্যাডমিন API-এর মাধ্যমে ব্যবহারকারীর অনুমতিগুলি পরিচালনা করেন।
  2. Google Analytics অ্যাডমিন এপিআই-এর সম্পত্তি অ্যাক্সেস বাইন্ডিংগুলিতে অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং থেকে উত্তরাধিকারসূত্রে প্রাপ্ত অন্তর্নিহিত অনুমতি বা অনুমতিগুলি অন্তর্ভুক্ত নয়। ম্যানেজমেন্ট এপিআই v3-এ, প্রতিটি ব্যবহারকারীর লিঙ্কে একটি permissions.effective সংগ্রহ রয়েছে যাতে অন্তর্নিহিত এবং উত্তরাধিকারসূত্রে পাওয়া উভয় অনুমতিই অন্তর্ভুক্ত থাকে।

একটি AccessBinding সত্তা একটি ব্যবহারকারী (ই-মেইল ঠিকানা) এবং ব্যবহারকারীকে প্রদত্ত ভূমিকাগুলির একটি তালিকা ধারণ করে। একটি AccessBinding সত্তা তৈরি, আপডেট বা মুছে ফেলা যেতে পারে।

অ্যাডমিন API v1 ভূমিকা নাম এবং ব্যবস্থাপনা API v3 অনুমতি নামের মধ্যে ম্যাপিং নিম্নরূপ:

অ্যাডমিন API v1 ভূমিকা ব্যবস্থাপনা API v3 অনুমতির নাম
পূর্বনির্ধারিত ভূমিকা/দর্শক READ_AND_ANALYZE
পূর্বনির্ধারিত ভূমিকা/বিশ্লেষক সহযোগিতা করুন
পূর্বনির্ধারিত ভূমিকা/সম্পাদক সম্পাদনা করুন
পূর্বনির্ধারিত ভূমিকা/প্রশাসক ব্যবহারকারীদের ম্যানেজ করুন

ভূমিকা predefinedRoles/no-cost-data , predefinedRoles/no-revenue-data অ্যাডমিন এপিআই v1 এ প্রবর্তন করা হয়েছে এবং ম্যানেজমেন্ট এপিআই v3 তে কোনো সংশ্লিষ্ট ম্যাপিং নেই।

এই নির্দেশিকাটি দেখায় কিভাবে অ্যাকাউন্ট-স্তরের অ্যাক্সেস বাইন্ডিংগুলি পরিচালনা করতে হয়। সম্পত্তি-স্তরের অ্যাক্সেস বাইন্ডিংগুলি পরিচালনা করতে, একই প্রক্রিয়া অনুসরণ করুন কিন্তু অ্যাকাউন্ট AccessBinding এর জায়গায় সম্পত্তি AccessBinding সংস্থান এবং পদ্ধতিগুলি ব্যবহার করুন।

অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং তালিকাভুক্ত করুন

Admin API v1-এর accounts.accessBindings.list পদ্ধতি একটি অ্যাকাউন্টে সমস্ত অ্যাক্সেস বাইন্ডিং তালিকাভুক্ত করে, যা ম্যানেজমেন্ট API v3-এর accountUserLinks.list পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

GET https://analyticsadmin.googleapis.com/v1alpha/accounts/XXXXXX/accessBindings/XXXXXXXX

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "accessBindings": [
    {
      "name": "accounts/XXXXXX/accessBindings/XXXXXX",
      "user": "XXXXXX",
      "roles": [
        "predefinedRoles/editor",
        "predefinedRoles/admin"
      ]
    }
  ]
}

ব্যবস্থাপনা API v3 অনুরোধ

GET https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks?key=[YOUR_API_KEY]

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "kind": "analytics#entityUserLinks",
  "totalResults": 1,
  "startIndex": 1,
  "itemsPerPage": 1000,
  "items": [
    {
      "id": "XXXXXX:XXXXXX",
      "kind": "analytics#entityUserLink",
      "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX:XXXXXX",
      "entity": {
        "accountRef": {
          "id": "XXXXXX",
          "kind": "analytics#accountRef",
          "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
          "name": "This is a test account"
        }
      },
      "userRef": {
        "kind": "analytics#userRef",
        "id": "XXXXXX",
        "email": "XXXXXX"
      },
      "permissions": {
        "effective": [
          "COLLABORATE",
          "EDIT",
          "MANAGE_USERS",
          "READ_AND_ANALYZE"
        ],
        "local": [
          "EDIT",
          "MANAGE_USERS"
        ]
      }
    }
  ]
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient


def run_sample():
    """Runs the sample."""
    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"
    list_account_access_bindings(account_id)


def list_account_access_bindings(account_id: str, transport: str = None):
    """
    Lists access bindings under the specified parent account.

    Args:
        account_id(str): The id of the account.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    results = client.list_access_bindings(parent=f"accounts/{account_id}")

    print("Result:")
    for access_binding in results:
        print(access_binding)
        print()


অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং আপডেট করুন

Admin API v1-এর accounts.accessBindings.patch পদ্ধতি একটি অ্যাকাউন্টের অ্যাক্সেস বাইন্ডিং আপডেট করে, যা ম্যানেজমেন্ট API v3-এর accountUserLinks.update পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

PATCH https://analyticsadmin.googleapis.com/v1alpha/accounts/XXXXXX/accessBindings/XXXXXXXX

{
  "roles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ]
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "accounts/XXXXXX/accessBindings/XXXXXXXX",
  "user": "USER-EMAIL",
  "directRoles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ]
}

ব্যবস্থাপনা API v3 অনুরোধ

PUT https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX%3A104236685715552897132?key=[YOUR_API_KEY]

{
  "entity": {
    "accountRef": {
      "id": "XXXXXX"
    }
  },
  "userRef": {
    "email": "XXXXXX"
  },
  "permissions": {
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "XXXXXX:104236685715552897132",
  "kind": "analytics#entityUserLink",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX:104236685715552897132",
  "entity": {
    "accountRef": {
      "id": "XXXXXX",
      "kind": "analytics#accountRef",
      "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
      "name": "This is a test account"
    }
  },
  "userRef": {
    "kind": "analytics#userRef",
    "id": "104236685715552897132",
    "email": "XXXXXX"
  },
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ],
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import AccessBinding


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics property ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"

    # TODO(developer): Replace this variable with your Google Analytics
    #  account access binding ID (e.g. "123456") before running the sample.
    account_access_binding_id = "YOUR-ACCOUNT-ACCESS-BINDING-ID"

    update_account_access_binding(account_id, account_access_binding_id)


def update_account_access_binding(
    account_id: str, account_access_binding_id: str, transport: str = None
):
    """
    Updates the account access binding.

    Args:
        account_id(str): The Google Analytics Account ID.
        account_access_binding_id(str): Google Analytics account access binding ID.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    # This call updates the roles of the access binding. The access binding to
    # update is specified in the `name` field of the `AccessBinding` instance.
    access_binding = client.update_access_binding(
        access_binding=AccessBinding(
            name=f"accounts/{account_id}/accessBindings/{account_access_binding_id}",
            roles=["predefinedRoles/collaborate"],
        ),
    )

    print("Result:")
    print(access_binding)


অ্যাকাউন্ট অ্যাক্সেস বাইন্ডিং তৈরি করুন

Admin API v1-এর accounts.accessBindings.create পদ্ধতি একটি অ্যাকাউন্টে অ্যাক্সেস বাইন্ডিং তৈরি করে, যা ম্যানেজমেন্ট API v3-এর accountUserLinks.insert পদ্ধতির মতো।

অ্যাডমিন API v1 অনুরোধ

POST https://analyticsadmin.googleapis.com/v1alpha/accounts/XXXXXX/accessBindings

{
  "roles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ],
  "user": "USER-EMAIL"
}

অ্যাডমিন API v1 প্রতিক্রিয়া

{
  "name": "accounts/XXXXXX/accessBindings/XXXXXXXX",
  "user": "USER-EMAIL",
  "roles": [
    "predefinedRoles/editor",
    "predefinedRoles/admin"
  ]
}

ব্যবস্থাপনা API v3 অনুরোধ

POST https://analytics.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks?key=[YOUR_API_KEY]

{
  "entity": {
    "accountRef": {
      "id": "XXXXXX"
    }
  },
  "userRef": {
    "email": "XXXXXX"
  },
  "permissions": {
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ব্যবস্থাপনা API v3 প্রতিক্রিয়া

{
  "id": "XXXXXX:114236685715552897132",
  "kind": "analytics#entityUserLink",
  "selfLink": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX/entityUserLinks/XXXXXX:114236685715552897132",
  "entity": {
    "accountRef": {
      "id": "XXXXXX",
      "kind": "analytics#accountRef",
      "href": "https://www.googleapis.com/analytics/v3/management/accounts/XXXXXX",
      "name": "This is a test account"
    }
  },
  "userRef": {
    "kind": "analytics#userRef",
    "id": "114236685715552897132",
    "email": "XXXXXX"
  },
  "permissions": {
    "effective": [
      "COLLABORATE",
      "EDIT",
      "MANAGE_USERS",
      "READ_AND_ANALYZE"
    ],
    "local": [
      "EDIT",
      "MANAGE_USERS"
    ]
  }
}

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import (
    AccessBinding,
    CreateAccessBindingRequest,
)


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics account ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"

    # TODO(developer): Replace this variable with an email address of the user to
    #  link. This user will be given access to your account after running the
    #  sample.
    email_address = "TEST-EMAIL-ADDRESS"

    create_account_access_binding(account_id, email_address)


def create_account_access_binding(
    account_id: str, email_address: str, transport: str = None
):
    """
    Creates a access binding for the account.

    Args:
        account_id(str): The Google Analytics Account ID.
        email_address(str): Email address of the access binding user.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    access_binding = client.create_access_binding(
        CreateAccessBindingRequest(
            parent=f"accounts/{account_id}",
            access_binding=AccessBinding(
                user=email_address, roles=["predefinedRoles/read"]
            ),
        )
    )

    print("Result:")
    print(access_binding)


ব্যাচিং

ম্যানেজমেন্ট API v3 এর বিপরীতে অ্যাডমিন API v1 মাল্টিপার্ট/মিশ্র সামগ্রীর ধরন ব্যবহার করে একাধিক Google Analytics API কল ব্যাচ করা সমর্থন করে না।

পরিবর্তে, API স্তরে ব্যাচিং স্পষ্টভাবে সমর্থিত। অ্যাডমিন API v1 এর নিম্নলিখিত পদ্ধতিগুলি ব্যাচিং কার্যকারিতা সমর্থন করে:

ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অ্যাডমিন API v1 কল করার জন্য নমুনা কোড:

পাইথন

from google.analytics.admin import AnalyticsAdminServiceClient
from google.analytics.admin_v1alpha.types import (
    AccessBinding,
    BatchCreateAccessBindingsRequest,
    CreateAccessBindingRequest,
)


def run_sample():
    """Runs the sample."""

    # !!! ATTENTION !!!
    #  Running this sample may change/delete your Google Analytics account
    #  configuration. Make sure to not use the Google Analytics account ID from
    #  your production environment below.

    # TODO(developer): Replace this variable with your Google Analytics
    #  account ID (e.g. "123456") before running the sample.
    account_id = "YOUR-GA-ACCOUNT-ID"

    # TODO(developer): Replace this variable with an email address of the user to
    #  link. This user will be given access to your account after running the
    #  sample.
    email_address = "TEST-EMAIL-ADDRESS"

    batch_create_account_access_binding(account_id, email_address)


def batch_create_account_access_binding(
    account_id: str, email_address: str, transport: str = None
):
    """
    Creates a access binding for the account using a batch call.

    Args:
        account_id(str): The Google Analytics Account ID.
        email_address(str): Email address of the access binding user.
        transport(str): The transport to use. For example, "grpc"
            or "rest". If set to None, a transport is chosen automatically.
    """
    client = AnalyticsAdminServiceClient(transport=transport)
    response = client.batch_create_access_bindings(
        BatchCreateAccessBindingsRequest(
            parent=f"accounts/{account_id}",
            requests=[
                CreateAccessBindingRequest(
                    access_binding=AccessBinding(
                        user=email_address,
                        roles=["predefinedRoles/read"],
                    )
                )
            ],
        )
    )

    print("Result:")
    for access_binding in response.access_bindings:
        print(access_binding)
        print()


API কোটা পরিবর্তন

Admin API v1 ব্যবস্থাপনা API v3 এর তুলনায় কম সীমাবদ্ধ কোটা প্রবর্তন করে।

  • অ্যাডমিন API v1-এ অনুরোধের সংখ্যা একটি GCP প্রকল্পের জন্য ডিফল্টভাবে প্রতি মিনিটে 600 অনুরোধের হার সীমাবদ্ধ।
  • বর্তমানে, প্রতি GCP প্রকল্পে অ্যাডমিন API v1 কলের সংখ্যার উপর কোনো দৈনিক সীমা কোটা নেই । মনে রাখবেন যে তাত্ত্বিকভাবে প্রতিদিন অনুরোধের সর্বোচ্চ সংখ্যা এখনও প্রতি মিনিটের অনুরোধের দ্বারা সীমিত।
  • প্রতিদিন লেখার ক্রিয়াকলাপের সংখ্যার একটি পৃথক সীমা সরানো হয়েছে।