במדריך למתחילים הזה תלמדו ליצור בקשות ל-Google Marketing Platform Admin API ולהציג את התשובות שמכילות את רשימת חשבונות Google Analytics שמקושרים לארגון Google Marketing Platform שצוין.
תוכלו להשלים את המדריך למתחילים הזה באמצעות ערכת SDK של שפת תכנות בסביבה המקומית או באמצעות ממשק ה-API ל-REST.
דרישות מוקדמות
כדי להשלים את המדריך למתחילים הזה, צריך:
- הגדרת פרויקט ב-Google Cloud והפעלת Google Marketing Platform Admin API
- במכונה המקומית:
- התקנה, הפעלה ואימות באמצעות Google Cloud
- התקנת ה-SDK בשפה הרצויה
הגדרת פרויקט ב-Google Cloud
מגדירים את הפרויקט ב-Google Cloud ומפעילים את Google Marketing Platform Admin API.
לוחצים על הלחצן הזה כדי לבחור או ליצור פרויקט חדש ב-Google Cloud ולהפעיל באופן אוטומטי את Google Marketing Platform Admin API:
הפעלת Google Marketing Platform Admin APIהגדרת Google Cloud
במחשב המקומי, מגדירים את Google Cloud ומבצעים אימות באמצעותו.
-
מתקינים ומפעילים את Google Cloud.
-
אם כבר התקנתם את Google Cloud, עליכם לוודא שהרכיבים של
gcloud
מעודכנים על ידי הפעלת הפקודה הזו.gcloud components update
-
כדי לבצע אימות ב-Google Cloud, מריצים את הפקודה הזו כדי ליצור קובץ מקומי של Application Default Credentials (ADC). תהליך האינטרנט שמופעל על ידי הפקודה משמש כדי לספק את פרטי הכניסה שלכם.
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/marketingplatformadmin.analytics.read"
שימו לב לאופן שבו ההיקפים הנדרשים על ידי Google Marketing Platform Admin API מצוינים בפקודה.
מידע נוסף זמין במאמר הגדרה של Application Default Credentials.
כדי להשתמש ב-Google Marketing Platform Admin API, צריך להגדיר מכסה בפרויקט, שלא מוגדרת כברירת מחדל. במאמר מדריך לפרטי כניסה של משתמשים מוסבר איך מגדירים את מכסת הפרויקטים.
איך מוצאים את מזהה הארגון ב-Google Marketing Platform
כדי להשתמש ב-Google Marketing Platform Admin API, צריך לזהות את מזהה הארגון ב-Google Marketing Platform. נכנסים ל-Google Marketing Platform, עוברים לתיבת הדו-שיח Administration, בוחרים את הארגון ומתעדים את Organization ID בקטע Organization details.
כל הבקשות ל-Google Marketing Platform Admin API חייבות לכלול את מזהה הארגון בפורמט organizations/ORGANIZATION_ID
.
הגדרת ה-SDK לשפת התכנות שלכם
במחשב המקומי, לוחצים על אחת מהכרטיסיות הבאות כדי להתקין את ה-SDK של שפת התכנות שלכם.
Java
PHP
Python
Node.js
.NET
Ruby
REST
מזינים את הפרטים הבאים כדי להגדיר את משתני הסביבה.
- מחליפים את
ORGANIZATION_ID
במזהה של הארגון ב-Google Marketing Platform. - מחליפים את
PROJECT_ID
במזהה הפרויקט ב-Google Cloud.
ביצוע קריאה ל-API
עכשיו אפשר להשתמש ב-Google Marketing Platform API כדי לקבל רשימה של חשבונות Google Analytics שמקושרים לארגון שצוין ב-Google Marketing Platform. מריצים את הקוד הבא כדי לבצע את הקריאה הראשונה ל-API:
Java
מסירים את הקריאות ל-.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
שימוש: 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
כדי לשלוח את הבקשה הזו, מריצים את הפקודה curl משורת הפקודה או כוללים את הקריאה ל-REST באפליקציה.
curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \\ -H "x-goog-user-project: ${PROJECT_ID}" -H "Content-Type: application/json" \\ https://marketingplatformadmin.googleapis.com/v1alpha/organizations/${ORGANIZATION_ID}/analyticsAccountLinks
קוד לדוגמה שמודפסת בו תגובה עם רשימה של חשבונות Google Analytics שמקושרים לארגון שצוין ב-Google Marketing Platform:
{
"analyticsAccountLinks": [
{
"name": "organizations/0a123456789-wxyz/analyticsAccountLinks/1234567890",
"analyticsAccount": "analyticsadmin.googleapis.com/accounts/1234567890",
"displayName": "Demo Account",
"linkVerificationState": "LINK_VERIFICATION_STATE_VERIFIED"
}
]
}
מעולה! שלחתם את הבקשה הראשונה ל-Google Marketing Platform API.