Questa guida spiega come iniziare a scrivere applicazioni che utilizzano l'API Ads Data Hub REST per interagire con Ads Data Hub. L'API REST di Ads Data Hub ti consente di visualizzare i clienti di Ads Data Hub associati al tuo Account Google, creare ed eseguire query.
Configurazione
Prima di utilizzare l'API Ads Data Hub, devi completare alcuni passaggi:
- Assicurati che all'utente che abilita l'API venga concessa
l'autorizzazione
serviceusage.services.enablenel progetto Google Cloud. L'utente con l'autorizzazioneserviceusage.services.enabledeve essere autorizzato anche ad accedere all'API. - Attiva l'API Ads Data Hub nel progetto Google Cloud in cui sono state create le credenziali client o l'account di servizio. Per attivare l'API Ads Data Hub per un progetto tramite la console:
- Vai alla libreria API di Cloud Console.
- Seleziona il progetto da utilizzare dall'elenco dei progetti.
- Cerca "API Ads Data Hub".
- Nella pagina dell'API, fai clic su ABILITA.
- Gestisci autorizzazioni:
- L'indirizzo email o l'account di servizio utilizzato per creare le credenziali deve essere aggiunto ad Ads Data Hub con le autorizzazioni appropriate. Per un account di servizio è l'indirizzo email dell'account di servizio. Per OAuth, si tratta dell'indirizzo email dell'utente. Ciò garantisce che l'account di servizio o l'account dell'utente finale sia autorizzato a eseguire query in Ads Data Hub.
- (Consigliato) Installa una libreria client dell'API di Google:
- Le librerie client delle API di Google sono disponibili in molti linguaggi diffusi e consentono di lavorare con molte API di Google. Anche se non è obbligatorio, le librerie client riducono la quantità di codice che devi scrivere e semplificano l'autenticazione.
| Libreria client | Esempi di Ads Data Hub |
|---|---|
| Libreria client delle API di Google per Java | Java |
| Libreria client API di Google per Python |
Autenticare e autorizzare
L'API Ads Data Hub può accedere ai dati nel tuo account cliente Ads Data Hub e modificarli, pertanto deve verificare che tu sia un utente autorizzato. Per questo motivo, prima di iniziare a interagire con l'API Ads Data Hub, devi attraversare una procedura di autorizzazione. Un flusso di autorizzazione ti fornisce le autorizzazioni necessarie per interagire con l'API. Puoi eseguire l'autenticazione utilizzando OAuth 2.0 o un account di servizio.
Impostazione OAuth 2.0
L'API supporta sia i flussi di applicazione installati sia i flussi di applicazioni web, ma in questo esempio vedremo il flusso dell'applicazione installata.
- Vai alla console API di Google e al tuo progetto amministratore.
- Verifica che l'API Ads Data Hub sia attivata per il tuo progetto.
- In caso contrario, fai clic su + Abilita API e servizi per abilitarla.
- Nel pannello di navigazione a sinistra, fai clic su Credentials (Credenziali).
- Apri il menu a discesa Crea credenziali e seleziona ID client OAuth. Nella
pagina seguente:
- Seleziona Altro.
- Facoltativamente, assegna un nome al client.
- Fai clic su Crea.
- Fai clic sull'icona di download accanto alle credenziali appena create.
Visualizzare la chiave API
La chiave API (nota anche come chiave sviluppatore) viene utilizzata per l'autenticazione nell'esempio di codice Python di seguito. Per ottenere la tua chiave API:
- Vai alla pagina "Credenziali" della console API
- Assicurati che il progetto amministratore sia selezionato nel menu a discesa della navigazione in alto.
- Fai clic sull'icona di download accanto alla chiave API.
Inviare una richiesta di esempio
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."); } } }
Passaggi successivi
- Visualizza query di esempio in Ads Data Hub per alcuni esempi di query che puoi creare ed eseguire con l'API REST di Ads Data Hub.
- Espandi gli esempi per acquisire familiarità con l'API e personalizzarla in base al caso d'uso. Poi, prova a:
- Estrarre lo stato di attività della query.
- Utilizzare una libreria client di BigQuery per recuperare i risultati delle query completati.
- Contattare l'assistenza ADH in caso di domande o feedback sull'API.