Comienza a usar la API de Ads Data Hub

En esta guía, se explica cómo comenzar a escribir aplicaciones que usan la API de REST de Centro de Datos de Anuncios para interactuar con Centro de Datos de Anuncios. La API de REST de Centro de Datos de Anuncios te permite ver los clientes de Centro de Datos de Anuncios asociados a tu Cuenta de Google, crear consultas y ejecutarlas.

Configuración

Antes de usar la API del Centro de Datos de Anuncios, debes completar algunos pasos:

  1. Asegúrate de que el usuario que habilita la API tenga permiso de serviceusage.services.enable en el proyecto de Google Cloud. El usuario con permiso serviceusage.services.enable también debe estar en la lista de entidades permitidas para acceder a la API.
  2. Habilita la API de Ads Data Hub en el proyecto de Google Cloud en el que se crearon las credenciales de cliente o la cuenta de servicio. Sigue estos pasos para habilitar la API de Centro de Datos de Anuncios para un proyecto con la consola:
    1. Ve a la Biblioteca de API de Cloud Console.
    2. Selecciona el proyecto que deseas usar de la lista de proyectos.
    3. Busca "API de Centro de Datos de Anuncios".
    4. En la página de API, haz clic en HABILITAR.
  3. Administrar permisos:
    1. La dirección de correo electrónico o la cuenta de servicio que se usaron para crear las credenciales deben agregarse a Centro de Datos de Anuncios con los permisos adecuados. En el caso de una cuenta de servicio, esta es la dirección de correo electrónico de la cuenta de servicio. En el caso de OAuth, es la dirección de correo electrónico del usuario. Esto garantiza que la cuenta de servicio o la cuenta del usuario final tengan permiso para ejecutar consultas en Centro de Datos de Anuncios.
  4. (Recomendado) Instala una biblioteca cliente de la API de Google:
    1. Las bibliotecas cliente de las APIs de Google están disponibles en varios lenguajes populares y te permiten trabajar con muchas APIs de Google. Si bien esto no es obligatorio, las bibliotecas cliente reducen la cantidad de código que debes escribir y simplifican la configuración de la autenticación.
Biblioteca cliente Muestras de Centro de Datos de Anuncios
Biblioteca cliente de las API de Google para Java Java
Biblioteca cliente de la API de Google para Python

Autentica y autoriza

La API de Centro de Datos de Anuncios puede acceder a los datos de tu cuenta de cliente de Centro de Datos de Anuncios y modificarlos, por lo que debe verificar que seas un usuario autorizado. Por este motivo, antes de comenzar a interactuar con la API del Centro de Datos de Anuncios, deberás completar un flujo de autorización. Un flujo de autorización te proporciona los permisos necesarios para interactuar con la API. Puedes autenticarte con OAuth 2.0 o con una cuenta de servicio.

Configuración de OAuth 2.0

La API admite los flujos de aplicaciones instaladas y de aplicaciones web, pero, para este ejemplo, analizaremos el flujo de aplicaciones instaladas.

  1. Ve a la consola de APIs de Google y navega a tu proyecto de administrador.
  2. Verifica que la API del Centro de datos de anuncios esté habilitada para tu proyecto.
    1. Si no es así, haz clic en + Habilitar APIs y servicios para habilitarla.
  3. En el panel de navegación izquierdo, haz clic en Credenciales.
  4. Abre el menú desplegable Crear credenciales y selecciona ID de cliente de OAuth. En la siguiente página, haz lo siguiente:
    1. Selecciona Otros.
    2. De manera opcional, asígnale un nombre al cliente.
    3. Haz clic en Crear.
  5. Haz clic en el ícono de descarga junto a las credenciales que acabas de crear.

Obtener clave de API

Tu clave de API (también conocida como clave de desarrollador) se usa para la autenticación en la siguiente muestra de código de Python. Para obtener tu clave de API, haz lo siguiente:

  1. Ve a la página "Credenciales" de la consola de API.
  2. Asegúrate de que tu proyecto de administrador esté seleccionado en el menú desplegable de la navegación superior.
  3. Haz clic en el ícono de descarga junto a tu clave de API.

Envía una solicitud de muestra

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.");
    }
  }
}

      

Próximos pasos

  • Consulta las consultas de muestra en Centro de Datos de Anuncios para ver ejemplos de consultas que puedes crear y ejecutar con la API de REST de Centro de Datos de Anuncios.
  • Amplía las muestras para familiarizarte con la API y personalizarla para tu caso de uso. Luego, intenta lo siguiente:
    • Consulta el estado de la operación de la búsqueda.
    • Usa una biblioteca cliente de BigQuery para recuperar los resultados de las consultas completadas.
  • Comunícate con el equipo de asistencia de ADH si tienes preguntas o comentarios sobre la API.