Szybki start: zarządzanie połączeniami kont Google Analytics za pomocą interfejsu Google Marketing Platform Admin API

W tym przewodniku szybkiego startu utworzysz żądania do interfejsu Google Marketing Platform Admin API i wyświetlisz odpowiedzi zawierające listę kont Google Analytics połączonych z określoną organizacją Google Marketing Platform.

Możesz wykonać to krótkie wprowadzenie, korzystając z pakietu SDK języka programowania w środowisku lokalnym lub interfejsu API REST.

Wymagania wstępne

Aby ukończyć to krótkie wprowadzenie, musisz:

  • Konfigurowanie projektu Google Cloud i włączanie interfejsu Google Marketing Platform Admin API
  • Na komputerze lokalnym:
    • Instalowanie, inicjowanie i uwierzytelnianie w Google Cloud
    • Instalowanie pakietu SDK dla danego języka

Konfigurowanie projektu Google Cloud

Skonfiguruj projekt w chmurze Google i włącz interfejs Google Marketing Platform Admin API.

Kliknij ten przycisk, aby wybrać lub utworzyć nowy projekt w chmurze Google Cloud i automatycznie włączyć interfejs Google Marketing Platform Admin API:

Włączanie interfejsu Google Marketing Platform Admin API

Konfigurowanie Google Cloud

Na komputerze lokalnym skonfiguruj Google Cloud i uwierzytelnij się w nim.

  1. Zainstaluj i zainicjuj Google Cloud.

  2. Jeśli Google Cloud zostało już zainstalowane, upewnij się, że komponenty gcloud są zaktualizowane, uruchamiając to polecenie.

    gcloud components update
  3. Aby uwierzytelnić się w Google Cloud, wygeneruj lokalny plik domyślnego uwierzytelniania aplikacji (ADC), uruchamiając to polecenie. Przepływ internetowy uruchomiony przez to polecenie służy do podawania danych logowania użytkownika.

    gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/marketingplatformadmin.analytics.read"

    Zwróć uwagę, jak w poleceniu określono zakresy wymagane przez interfejs Google Marketing Platform Admin API.

    Więcej informacji znajdziesz w artykule Konfigurowanie domyślnego uwierzytelniania aplikacji.

Interfejs Google Marketing Platform Admin API wymaga projektu limitu, który nie jest ustawiony domyślnie. Informacje o tym, jak ustawić projekt limitu, znajdziesz w przewodniku po danych logowania użytkownika.

Określanie identyfikatora organizacji Google Marketing Platform

Aby korzystać z interfejsu Google Marketing Platform Admin API, musisz znać identyfikator organizacji Google Marketing Platform. Zaloguj się w Google Marketing Platform, otwórz okno Administracja, wybierz organizację i zanotuj identyfikator organizacji w sekcji Szczegóły organizacji.

Wszystkie żądania wysyłane do interfejsu Google Marketing Platform Admin API muszą zawierać identyfikator organizacji w formacie organizations/ORGANIZATION_ID.

Konfigurowanie pakietu SDK dla wybranego języka programowania

Na komputerze lokalnym kliknij jedną z tych kart, aby zainstalować pakiet SDK dla wybranego języka programowania.

Java

Przewodnik instalacji biblioteki klienta Java

PHP

Przewodnik instalacji biblioteki klienta PHP

Python

Przewodnik instalacji biblioteki klienta Python

Node.js

Przewodnik instalacji biblioteki klienta Node.js

.NET

Przewodnik instalacji biblioteki klienta.NET

Ruby

Przewodnik instalacji biblioteki klienta Ruby

REST

Skonfiguruj zmienne środowiskowe, wpisując te wartości.

  1. Zastąp ORGANIZATION_ID identyfikatorem organizacji Google Marketing Platform.
  2. Zastąp PROJECT_ID identyfikatorem projektu Google Cloud.

Wywoływanie interfejsu API

Teraz możesz używać interfejsu Google Marketing Platform API do wyświetlania listy kont Google Analytics połączonych z określoną organizacją w Google Marketing Platform. Aby wykonać pierwsze wywołanie interfejsu API, uruchom ten kod:

Java

Podczas korzystania z szybkiego wprowadzenia usuń wywołania numerów .setPageSize.setPageToken.

import com.google.ads.marketingplatform.admin.v1alpha.AnalyticsAccountLink;
import com.google.ads.marketingplatform.admin.v1alpha.ListAnalyticsAccountLinksRequest;
import com.google.ads.marketingplatform.admin.v1alpha.MarketingplatformAdminServiceClient;
import com.google.ads.marketingplatform.admin.v1alpha.OrganizationName;

public class SyncListAnalyticsAccountLinks {

  public static void main(String[] args) throws Exception {
    syncListAnalyticsAccountLinks();
  }

  public static void syncListAnalyticsAccountLinks() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (MarketingplatformAdminServiceClient marketingplatformAdminServiceClient =
        MarketingplatformAdminServiceClient.create()) {
      ListAnalyticsAccountLinksRequest request =
          ListAnalyticsAccountLinksRequest.newBuilder()
              .setParent(OrganizationName.of("[ORGANIZATION]").toString())
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .build();
      for (AnalyticsAccountLink element :
          marketingplatformAdminServiceClient.listAnalyticsAccountLinks(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

PHP

use Google\Ads\MarketingPlatform\Admin\V1alpha\AnalyticsAccountLink;
use Google\Ads\MarketingPlatform\Admin\V1alpha\Client\MarketingplatformAdminServiceClient;
use Google\Ads\MarketingPlatform\Admin\V1alpha\ListAnalyticsAccountLinksRequest;
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;

/**
 * Lists the Google Analytics accounts link to the specified Google Marketing
 * Platform organization.
 *
 * @param string $formattedParent The parent organization, which owns this collection of Analytics
 *                                account links. Format: organizations/{org_id}
 *                                Please see {@see MarketingplatformAdminServiceClient::organizationName()} for help formatting this field.
 */
function list_analytics_account_links_sample(string $formattedParent): void
{
    // Create a client.
    $marketingplatformAdminServiceClient = new MarketingplatformAdminServiceClient();

    // Prepare the request message.
    $request = (new ListAnalyticsAccountLinksRequest())
        ->setParent($formattedParent);

    // Call the API and handle any network failures.
    try {
        /** @var PagedListResponse $response */
        $response = $marketingplatformAdminServiceClient->listAnalyticsAccountLinks($request);

        /** @var AnalyticsAccountLink $element */
        foreach ($response as $element) {
            printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
        }
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample has been automatically generated and should be regarded as a code
 * template only. It will require modifications to work:
 *  - It may require correct/in-range values for request initialization.
 *  - It may require specifying regional endpoints when creating the service client,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedParent = MarketingplatformAdminServiceClient::organizationName('[ORGANIZATION]');

    list_analytics_account_links_sample($formattedParent);
}

Python

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.ads import marketingplatform_admin_v1alpha


def sample_list_analytics_account_links():
    # Create a client
    client = marketingplatform_admin_v1alpha.MarketingplatformAdminServiceClient()

    # Initialize request argument(s)
    request = marketingplatform_admin_v1alpha.ListAnalyticsAccountLinksRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_analytics_account_links(request=request)

    # Handle the response
    for response in page_result:
        print(response)

Node.js

Użycie: node packages/google-marketingplatform-admin/samples/quickstart.js organizations/ORGANIZATION_ID.

  /**
   * This snippet has been automatically generated and should be regarded as a code template only.
   * It will require modifications to work.
   * It may require correct/in-range values for request initialization.
   * TODO(developer): Uncomment these variables before running the sample.
   */
  /**
   *  Required. The parent organization, which owns this collection of Analytics
   *  account links. Format: organizations/{org_id}
   */
  // const parent = 'abc123'
  /**
   *  Optional. The maximum number of Analytics account links to return in one
   *  call. The service may return fewer than this value.
   *  If unspecified, at most 50 Analytics account links will be returned. The
   *  maximum value is 1000; values above 1000 will be coerced to 1000.
   */
  // const pageSize = 1234
  /**
   *  Optional. A page token, received from a previous ListAnalyticsAccountLinks
   *  call. Provide this to retrieve the subsequent page.
   *  When paginating, all other parameters provided to
   *  `ListAnalyticsAccountLinks` must match the call that provided the page
   *  token.
   */
  // const pageToken = 'abc123'

  // Imports the Admin library
  const {MarketingplatformAdminServiceClient} =
    require('@google-ads/marketing-platform-admin').v1alpha;

  // Instantiates a client
  const adminClient = new MarketingplatformAdminServiceClient({fallback: true});

  async function callListAnalyticsAccountLinks() {
    // Construct request
    const request = {
      parent,
    };

    // Run request
    const iterable = adminClient.listAnalyticsAccountLinksAsync(request);
    for await (const response of iterable) {
      console.log(response);
    }
  }

  callListAnalyticsAccountLinks();

.NET

    using Google.Ads.MarketingPlatform.Admin.V1Alpha;
    using Google.Api.Gax;
    using System;

    public sealed partial class GeneratedMarketingplatformAdminServiceClientSnippets
    {
        /// <summary>Snippet for ListAnalyticsAccountLinks</summary>
        /// <remarks>
        /// This snippet has been automatically generated and should be regarded as a code template only.
        /// It will require modifications to work:
        /// - It may require correct/in-range values for request initialization.
        /// - It may require specifying regional endpoints when creating the service client as shown in
        ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
        /// </remarks>
        public void ListAnalyticsAccountLinks()
        {
            // Create client
            MarketingplatformAdminServiceClient marketingplatformAdminServiceClient = MarketingplatformAdminServiceClient.Create();
            // Initialize request argument(s)
            string parent = "organizations/[ORGANIZATION]";
            // Make the request
            PagedEnumerable<ListAnalyticsAccountLinksResponse, AnalyticsAccountLink> response = marketingplatformAdminServiceClient.ListAnalyticsAccountLinks(parent);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (AnalyticsAccountLink item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListAnalyticsAccountLinksResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (AnalyticsAccountLink item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page<AnalyticsAccountLink> singlePage = response.ReadPage(pageSize);
            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (AnalyticsAccountLink item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
        }
    }

REST

Aby wysłać to żądanie, uruchom polecenie curl w wierszu poleceń lub uwzględnij wywołanie REST w swojej aplikacji.

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

Przykładowy kod wyświetla odpowiedź z listą kont Google Analytics połączonych z określoną organizacją w Google Marketing Platform:

{
  "analyticsAccountLinks": [
    {
      "name": "organizations/0a123456789-wxyz/analyticsAccountLinks/1234567890",
      "analyticsAccount": "analyticsadmin.googleapis.com/accounts/1234567890",
      "displayName": "Demo Account",
      "linkVerificationState": "LINK_VERIFICATION_STATE_VERIFIED"
    }
  ]
}

Gratulacje! Udało Ci się wysłać pierwsze żądanie do interfejsu Google Marketing Platform API.