Ce guide explique comment développer des applications utilisant l'API REST Ads Data Hub pour interagir avec Ads Data Hub. L'API REST Ads Data Hub permet d'afficher les clients Ads Data Hub associés à votre compte Google, ainsi que de créer et d'exécuter des requêtes.
Configuration
Avant d'utiliser l'API Ads Data Hub :
- Assurez-vous que l'utilisateur qui active l'API dispose de l'autorisation
serviceusage.services.enabledans le projet Google Cloud. L'utilisateur disposant de l'autorisationserviceusage.services.enabledoit également être ajouté à la liste d'autorisation pour accéder à l'API. - Activez l'API Ads Data Hub dans le projet Google Cloud dans lequel les identifiants client ou le compte de service ont été créés. Pour activer l'API Ads Data Hub pour un projet à l'aide de la console :
- Accédez à la bibliothèque d'API Cloud Console.
- Sélectionnez le projet à utiliser dans la liste des projets.
- Recherchez "API Ads Data Hub".
- Sur la page de l'API, cliquez sur ACTIVER.
- Gérez les autorisations :
- L'adresse e-mail ou le compte de service utilisé pour créer les identifiants doit être ajouté à Ads Data Hub avec les autorisations appropriées. Pour un compte de service, il s'agit de son adresse e-mail. Pour OAuth, il s'agit de l'adresse e-mail de l'utilisateur. Le compte de service ou le compte de l'utilisateur final est ainsi autorisé à exécuter des requêtes dans Ads Data Hub.
- (Recommandé) Installez une bibliothèque cliente des API Google :
- Les bibliothèques clientes des API Google sont disponibles dans plusieurs langages courants et permettent d'utiliser de nombreuses API Google. Bien qu'elles ne soient pas obligatoires, les bibliothèques clientes réduisent la quantité de code à écrire et simplifient la configuration de l'authentification.
| Bibliothèque cliente | Extraits Ads Data Hub |
|---|---|
| Bibliothèque cliente des API Google pour Java | Java |
| Bibliothèque cliente des API Google pour Python |
Authentification et autorisation
L'API Ads Data Hub peut accéder aux données de votre compte client Ads Data Hub et les modifier. Elle doit donc vérifier que vous êtes un utilisateur autorisé. De ce fait, avant de commencer à utiliser l'API Ads Data Hub, vous devez suivre un flux d'autorisation. Ce flux vous fournit les autorisations nécessaires pour interagir avec l'API. Vous pouvez vous authentifier à l'aide d'OAuth 2.0 ou d'un compte de service.
Configurer OAuth 2.0
L'API est compatible avec les flux pour les applications installées et pour les applications Web. Dans cet exemple, nous allons examiner le flux pour applications installées.
- Accédez à la console Google APIs, puis à votre projet administrateur.
- Vérifiez que l'API Ads Data Hub est activée pour votre projet.
- Si ce n'est pas le cas, cliquez sur "+ Activer les API et les services".
- Dans le volet de navigation de gauche, cliquez sur "Identifiants".
- Ouvrez le menu déroulant "Créer des identifiants", puis sélectionnez "ID client OAuth". Sur la page suivante :
- Sélectionnez "Autre".
- Si vous le souhaitez, attribuez un nom au client.
- Cliquez sur "Créer".
- Cliquez sur l'icône de téléchargement à côté des identifiants que vous venez de créer.
Obtenir votre clé API
Votre clé API (également appelée "clé de développeur") est utilisée pour l'authentification dans l'exemple de code Python ci-dessous. Pour l'obtenir :
- Accédez à la page "Identifiants" de la console APIs.
- Assurez-vous que votre projet administrateur est sélectionné dans le menu déroulant en haut de la page.
- Cliquez sur l'icône de téléchargement à côté de votre clé API.
Envoyer un exemple de requête
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."); } } }
Étapes suivantes
- Consultez des exemples de requêtes dans Ads Data Hub pour voir celles que vous pouvez créer et exécuter avec l'API REST Ads Data Hub.
- Développez les exemples pour vous familiariser avec l'API et la personnaliser pour votre cas d'utilisation. Ensuite :
- Interrogez l'état de l'opération de la requête.
- Utilisez une bibliothèque cliente BigQuery pour récupérer les résultats de la requête terminée.
- Pour toute question ou pour tout commentaire sur l'API, contactez l'assistance ADH.