Kurzanleitung: Google Analytics-Kontoverknüpfungen mit der Google Marketing Platform Admin API verwalten

In dieser Schnellstartanleitung erstellen Sie Anfragen an die Google Marketing Platform Admin API und rufen die Antworten mit der Liste der Google Analytics-Konten auf, die mit der angegebenen Google Marketing Platform-Organisation verknüpft sind.

Sie können diese Kurzanleitung mit einem SDK für Programmiersprachen in Ihrer lokalen Umgebung oder mit der REST API ausführen.

Vorbereitung

Für diese Kurzanleitung benötigen Sie Folgendes:

  • Google Cloud-Projekt einrichten und die Google Marketing Platform Admin API aktivieren
  • Auf Ihrem lokalen Computer:
    • Installieren, initialisieren und bei Google Cloud authentifizieren
    • SDK für Ihre Sprache installieren

Google Cloud-Projekt einrichten

Richten Sie Ihr Google Cloud-Projekt ein und aktivieren Sie die Google Marketing Platform Admin API.

Klicken Sie auf diese Schaltfläche, um ein neues Google Cloud-Projekt auszuwählen oder zu erstellen und die Google Marketing Platform Admin API automatisch zu aktivieren:

Google Marketing Platform Admin API aktivieren

Google Cloud einrichten

Richten Sie auf Ihrem lokalen Computer eine Verbindung zu Google Cloud ein und authentifizieren Sie sich.

  1. Installieren und initialisieren Sie Google Cloud.

  2. Wenn Sie Google Cloud bereits installiert haben, führen Sie diesen Befehl aus, um sicherzustellen, dass Ihre gcloud-Komponenten auf dem neuesten Stand sind.

    gcloud components update
  3. Um sich bei Google Cloud zu authentifizieren, generieren Sie eine lokale Datei mit Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC), indem Sie diesen Befehl ausführen. Über den Befehl gestartete Webabläufe werden verwendet, um Ihre Nutzeranmeldedaten anzugeben.

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

    Beachten Sie, dass die von der Google Marketing Platform Admin API erforderlichen Bereiche im Befehl angegeben sind.

    Weitere Informationen finden Sie unter Standardanmeldedaten für Anwendungen einrichten.

Für die Google Marketing Platform Admin API ist ein Kontingentprojekt erforderlich, das standardmäßig nicht festgelegt ist. Informationen zum Festlegen eines Kontingentprojekts finden Sie im Leitfaden zu Nutzeranmeldedaten.

Google Marketing Platform-Organisations-ID ermitteln

Wenn Sie die Google Marketing Platform Admin API verwenden möchten, müssen Sie Ihre Google Marketing Platform-Organisations-ID angeben. Melden Sie sich in der Google Marketing Platform an, rufen Sie das Dialogfeld Verwaltung auf, wählen Sie Ihre Organisation aus und notieren Sie sich die Organisations-ID unter Organisationsdetails.

Alle Anfragen an die Google Marketing Platform Admin API müssen die Organisations-ID im Format organizations/ORGANIZATION_ID enthalten.

SDK für Ihre Programmiersprache einrichten

Klicken Sie auf Ihrem lokalen Computer auf einen der folgenden Tabs, um das SDK für Ihre Programmiersprache zu installieren.

Java

Installationsanleitung für die Java-Clientbibliothek

PHP

Anleitung zur Installation der PHP-Clientbibliothek

Python

Installationsanleitung für die Python-Clientbibliothek

Node.js

Installationsanleitung für die Node.js-Clientbibliothek

.NET

Installationsanleitung für.NET-Clientbibliotheken

Ruby

Anleitung zur Installation der Ruby-Clientbibliothek

REST

Konfigurieren Sie die Umgebungsvariablen. Dazu geben Sie Folgendes ein.

  1. Ersetzen Sie ORGANIZATION_ID durch die ID Ihrer Google Marketing Platform-Organisation.
  2. Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts.

API aufrufen

Sie können jetzt mit der Google Marketing Platform API die Google Analytics-Konten auflisten, die mit der angegebenen Google Marketing Platform-Organisation verknüpft sind. Führen Sie den folgenden Code aus, um Ihren ersten API-Aufruf auszuführen:

Java

Entfernen Sie Aufrufe von .setPageSize und .setPageToken, wenn Sie die Kurzanleitung ausführen.

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

Verwendung: 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

Führen Sie den Befehl „curl“ über die Befehlszeile aus oder fügen Sie den REST-Aufruf in Ihre Anwendung ein, um diese Anfrage zu senden.

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

Der Beispielcode gibt eine Antwort mit einer Liste der Google Analytics-Konten aus, die mit der angegebenen Google Marketing Platform-Organisation verknüpft sind:

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

Glückwunsch! Sie haben Ihre erste Anfrage an die Google Marketing Platform API gesendet.