Mulai menggunakan Ads Data Hub API

Panduan ini menjelaskan cara mulai menulis aplikasi yang menggunakan Ads Data Hub REST API untuk berinteraksi dengan Ads Data Hub. Ads Data Hub REST API memungkinkan Anda melihat pelanggan Ads Data Hub yang terkait dengan Akun Google Anda, membuat kueri, dan menjalankan kueri.

Penyiapan

Ada beberapa langkah yang harus Anda selesaikan sebelum menggunakan Ads Data Hub API:

  1. Pastikan pengguna yang mengaktifkan API diberi izin serviceusage.services.enable di project Google Cloud. Pengguna dengan izin serviceusage.services.enable juga harus tercantum dalam daftar yang diberi akses untuk mengakses API.
  2. Aktifkan Ads Data Hub API di project Google Cloud tempat kredensial klien atau akun layanan dibuat. Untuk mengaktifkan Ads Data Hub API untuk project menggunakan konsol:
    1. Buka Cloud Console API Library.
    2. Pilih project yang ingin Anda gunakan dari daftar project.
    3. Telusuri "Ads Data Hub API".
    4. Di halaman API, klik ENABLE.
  3. Mengelola izin:
    1. Alamat email atau akun layanan yang digunakan untuk membuat kredensial harus ditambahkan ke Ads Data Hub dengan izin yang sesuai. Untuk akun layanan, ini adalah alamat email akun layanan. Untuk OAuth, ini adalah alamat email pengguna. Hal ini memastikan bahwa akun layanan atau akun pengguna akhir memiliki izin untuk menjalankan kueri di Ads Data Hub.
  4. (Direkomendasikan) Instal library klien Google API:
    1. Library klien Google API tersedia dalam beberapa bahasa populer, dan memungkinkan Anda menggunakan banyak Google API. Meskipun tidak diperlukan, library klien mengurangi jumlah kode yang harus Anda tulis, dan membuat penyiapan autentikasi lebih sederhana.
Library Klien Contoh Ads Data Hub
Library Klien Google API untuk Java Java
Library Klien Google API untuk Python

Mengautentikasi dan memberi otorisasi

Ads Data Hub API dapat mengakses dan mengubah data di akun pelanggan Ads Data Hub Anda, sehingga perlu memverifikasi bahwa Anda adalah pengguna yang berwenang. Oleh karena itu, sebelum mulai berinteraksi dengan Ads Data Hub API, Anda harus menyelesaikan alur otorisasi. Alur otorisasi memberi Anda izin yang diperlukan untuk berinteraksi dengan API. Anda dapat melakukan autentikasi menggunakan OAuth 2.0 atau akun layanan.

Penyiapan OAuth 2.0

API ini mendukung alur aplikasi terinstal dan alur aplikasi web, tetapi untuk contoh ini, kita akan membahas alur aplikasi terinstal.

  1. Buka konsol Google API dan buka project admin Anda.
  2. Pastikan Ads Data Hub API diaktifkan untuk project Anda.
    1. Jika belum, klik + Aktifkan API dan layanan untuk mengaktifkannya.
  3. Di navigasi kiri, klik Kredensial.
  4. Buka menu drop-down Buat kredensial, lalu pilih ID klien OAuth. Di halaman berikut:
    1. Pilih Lainnya.
    2. Atau, beri nama klien.
    3. Klik Buat.
  5. Klik ikon download di samping kredensial yang baru saja Anda buat.

Mendapatkan kunci API Anda

Kunci API Anda (juga dikenal sebagai kunci developer) digunakan untuk autentikasi dalam contoh kode Python di bawah. Untuk mendapatkan kunci API Anda:

  1. Buka halaman "Credentials" di konsol API
  2. Pastikan project Admin Anda dipilih di dropdown pada navigasi atas.
  3. Klik ikon download di samping kunci API Anda.

Mengirim permintaan sampel

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

      

Langkah berikutnya

  • Lihat contoh kueri di Ads Data Hub untuk mengetahui contoh kueri yang dapat Anda buat dan jalankan dengan REST API Ads Data Hub.
  • Perluas contoh untuk memahami API dan menyesuaikannya dengan kasus penggunaan Anda. Kemudian coba:
    • Polling status operasi kueri.
    • Gunakan library klien BigQuery untuk mengambil hasil kueri yang telah selesai.
  • Hubungi dukungan ADH jika ada pertanyaan atau masukan tentang API.