Pierwsze kroki z interfejsem Ads Data Hub API

Z tego przewodnika dowiesz się, jak zacząć tworzyć aplikacje, które korzystają z interfejsu Ads Data Hub API typu REST do interakcji z Centrum danych reklam. Interfejs Ads Data Hub API typu REST umożliwia wyświetlanie listy klientów Centrum danych reklam powiązanych z Twoim kontem Google oraz tworzenie i wykonywanie zapytań.

Konfiguracja

Zanim zaczniesz korzystać z interfejsu Ads Data Hub API, musisz wykonać kilka czynności:

  1. Upewnij się, że użytkownik włączający interfejs API ma w projekcie Google Cloud uprawnienie serviceusage.services.enable. Użytkownik z uprawnieniem serviceusage.services.enable musi też mieć przyznany dostęp do interfejsu API.
  2. Włącz interfejs Ads Data Hub API w projekcie Google Cloud, w którym utworzono dane logowania klienta lub konto usługi. Aby za pomocą konsoli włączyć w projekcie interfejs Ads Data Hub API:
    1. Otwórz Bibliotekę API Cloud Console.
    2. Na liście projektów wybierz projekt, którego chcesz użyć.
    3. Wyszukaj „Ads Data Hub API”.
    4. Na stronie interfejsu API kliknij WŁĄCZ.
  3. Zarządzanie uprawnieniami:
    1. Do Centrum danych reklam musisz dodać adres e-mail lub konto usługi, którego użyto do utworzenia danych logowania, z odpowiednimi uprawnieniami. W przypadku konta usługi jest to adres e-mail tego konta. W przypadku protokołu OAuth jest to adres e-mail użytkownika. Dzięki temu konto usługi lub konto użytkownika uzyska uprawnienia do wykonywania zapytań w Centrum danych reklam.
  4. (Zalecane) Zainstaluj bibliotekę klienta interfejsów API Google:
    1. Biblioteki klienta interfejsów API Google są dostępne w kilku popularnych językach i umożliwiają pracę z licznymi interfejsami API Google. Chociaż nie jest to wymagane, biblioteki klienta zmniejszają ilość kodu do napisania i upraszczają konfigurowanie uwierzytelniania.
Biblioteka klienta Przykłady dotyczące Centrum danych reklam
Biblioteka klienta interfejsów API Google do języka Java Java
Biblioteka klienta interfejsów API Google do języka Python

Uwierzytelnianie i autoryzacja

Interfejs Ads Data Hub API ma dostęp do Twojego konta klienta Centrum danych reklam i może zmieniać na nim dane, dlatego musi sprawdzać, czy jesteś autoryzowanym użytkownikiem. Z tego względu, zanim zaczniesz korzystać z interfejsu Ads Data Hub API, musisz przejść proces autoryzacji. Dzięki temu uzyskasz uprawnienia niezbędne do korzystania z interfejsu API. Do uwierzytelniania możesz używać protokołu OAuth 2.0 lub konta usługi.

Konfiguracja protokołu OAuth 2.0

Interfejs API obsługuje proces konfiguracji za pomocą zarówno zainstalowanej aplikacji, jak i aplikacji internetowej, ale w tym przykładzie korzystamy z zainstalowanej aplikacji.

  1. Otwórz konsolę interfejsów API Google i przejdź do swojego projektu administracyjnego.
  2. Sprawdź, czy w przypadku Twojego projektu włączony jest interfejs Ads Data Hub API.
    1. Jeśli nie, kliknij „+ Włącz interfejsy API i usługi”, aby go włączyć.
  3. W menu po lewej stronie kliknij Dane logowania.
  4. Otwórz menu Utwórz dane logowania i kliknij Identyfikator klienta OAuth. Na kolejnej stronie:
    1. Kliknij Inny.
    2. Opcjonalnie nadaj klientowi nazwę.
    3. Kliknij Utwórz.
  5. Kliknij ikonę pobierania obok nowo utworzonych danych logowania.

Uzyskiwanie klucza interfejsu API

Twój klucz interfejsu API (nazywany też kluczem programisty) służy do uwierzytelniania w przykładowym kodzie Pythona poniżej. Aby uzyskać klucz interfejsu API:

  1. W konsoli interfejsów API otwórz stronę „Dane logowania”.
  2. Sprawdź, czy w menu u góry wybrany jest Twój projekt administracyjny.
  3. Kliknij ikonę pobierania obok klucza interfejsu API.

Wysyłanie przykładowego żądania

Python

"""This sample shows how to retrieve all accounts associated with the user.

For the program to execute successfully, ensure that you run it using Python 3.
"""
import json
from google_auth_oauthlib import flow
from googleapiclient.discovery import build

appflow = flow.InstalledAppFlow.from_client_secrets_file(
    # Replace client_secrets.json with your own client secret file.
    'client_secrets.json',
    scopes=['https://www.googleapis.com/auth/adsdatahub'])
appflow.run_local_server()
credentials = appflow.credentials
developer_key = input('Developer key: ').strip()
# For versions of the Google API Python client library prior to 2.0, the
# `static_discovery` parameter below should be removed.
service = build('AdsDataHub', 'v1', credentials=credentials,
                developerKey=developer_key, static_discovery=False)


def pprint(x):
  print(json.dumps(x, sort_keys=True, indent=4))


adh_account_id = input('ADH account ID (e.g. "customers/123456789"): ').strip()
pprint(service.customers().analysisQueries().list(parent
                                                  =adh_account_id).execute())

      

Java

/*
 * Copyright (c) 2019 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package com.google.api.services.samples.adsdatahub.cmdline;

import com.google.api.services.adsdatahub.v1.AdsDataHub;
import com.google.api.services.adsdatahub.v1.model.Customer;
import com.google.api.services.adsdatahub.v1.model.ListCustomersResponse;
import java.io.IOException;
import java.util.List;

/**
 * This sample illustrates how to retrieve all accounts associated to the user.
 *
 * <p>See the <a href="customers.list reference
 * documentation">https://developers.google.com/ads-data-hub/reference/rest/v1/customers/list</a>
 * for more details.
 */
public class ListCustomers extends BaseSample {

  @Override
  public String getName() {
    return "List customers";
  }

  @Override
  public String getDescription() {
    return "Lists customers associated with the authorized user";
  }

  @Override
  public void execute(AdsDataHub client) throws IOException {
    String pageToken = null;
    boolean noData = true;

    System.out.println("========================================");
    System.out.printf("Listing of customers associated with the authorized user:\n");
    System.out.println("========================================");

    do {
      ListCustomersResponse response = client.customers().list().setPageToken(pageToken).execute();
      pageToken = response.getNextPageToken();
      List<Customer> customers = response.getCustomers();

      if (customers != null && customers.size() > 0) {
        noData = false;
        for (Customer customer : customers) {
          System.out.printf("* Customer id: %d\n", customer.getCustomerId());
          System.out.printf("\tCustomer name: %s\n", customer.getDisplayName());
        }
      }
    } while (pageToken != null);

    if (noData) {
      System.out.println("No customers were found associated with the authorized user.");
    }
  }
}

      

Dalsze kroki

  • Zobacz przykładowe zapytania w Centrum danych reklam, aby się dowiedzieć, jakie zapytania możesz tworzyć i wykonywać za pomocą interfejsu Ads Data Hub API typu REST.
  • Rozwijaj przykłady, aby zapoznać się z interfejsem API i dostosować go do swoich potrzeb. Następnie spróbuj wykonać te czynności:
  • Jeśli masz pytania lub chcesz się podzielić opinią na temat interfejsu API, skontaktuj się z zespołem pomocy CDR.