Bắt đầu sử dụng API Ads Data Hub

Hướng dẫn này giải thích cách bắt đầu viết các ứng dụng sử dụng API REST của Ads Data Hub để tương tác với Ads Data Hub. API REST Ads Data Hub cho phép bạn xem những khách hàng Ads Data Hub được liên kết với Tài khoản Google của bạn, tạo truy vấn và chạy truy vấn.

Thiết lập

Bạn cần hoàn tất một số bước trước khi sử dụng Ads Data Hub API:

  1. Đảm bảo rằng người dùng bật API được cấp quyền serviceusage.services.enable trong dự án Google Cloud. Người dùng có quyền serviceusage.services.enable cũng phải có trong danh sách cho phép truy cập vào API.
  2. Bật Ads Data Hub API trong dự án trên đám mây của Google mà bạn đã tạo thông tin xác thực của ứng dụng hoặc tài khoản dịch vụ. Cách bật Ads Data Hub API cho một dự án bằng bảng điều khiển:
    1. Truy cập vào Thư viện API của Cloud Console.
    2. Chọn dự án mà bạn muốn sử dụng trong danh sách dự án.
    3. Tìm kiếm "Ads Data Hub API".
    4. Trên trang API, hãy nhấp vào BẬT.
  3. Quản lý quyền:
    1. Bạn phải thêm địa chỉ email hoặc tài khoản dịch vụ dùng để tạo thông tin xác thực vào Ads Data Hub với các quyền thích hợp. Đối với tài khoản dịch vụ, đây là địa chỉ email của tài khoản dịch vụ. Đối với OAuth, đây là địa chỉ email của người dùng. Điều này đảm bảo rằng tài khoản dịch vụ hoặc tài khoản của người dùng cuối có quyền chạy truy vấn trong Ads Data Hub.
  4. (Nên dùng) Cài đặt thư viện ứng dụng Google API:
    1. Thư viện ứng dụng Google API có sẵn bằng một số ngôn ngữ phổ biến và cho phép bạn làm việc với nhiều API của Google. Mặc dù không bắt buộc, nhưng thư viện ứng dụng giúp giảm lượng mã mà bạn phải viết và giúp việc thiết lập quy trình xác thực trở nên đơn giản hơn.
Thư viện ứng dụng Mẫu Ads Data Hub
Thư viện ứng dụng Google API cho Java Java
Thư viện ứng dụng Google API cho Python

Xác thực và uỷ quyền

Ads Data Hub API có thể truy cập và thay đổi dữ liệu trong tài khoản khách hàng Ads Data Hub của bạn. Vì vậy, API này cần xác minh rằng bạn là người dùng được uỷ quyền. Do đó, trước khi bắt đầu tương tác với Ads Data Hub API, bạn cần thực hiện quy trình uỷ quyền. Quy trình uỷ quyền cung cấp cho bạn các quyền cần thiết để tương tác với API. Bạn có thể xác thực bằng OAuth 2.0 hoặc tài khoản dịch vụ.

Thiết lập OAuth 2.0

API này hỗ trợ cả quy trình ứng dụng đã cài đặtứng dụng web, nhưng trong ví dụ này, chúng ta sẽ thực hiện quy trình ứng dụng đã cài đặt.

  1. Truy cập vào Google API Console rồi chuyển đến dự án quản trị của bạn.
  2. Xác minh rằng Ads Data Hub API đã được bật cho dự án của bạn.
    1. Nếu chưa, hãy nhấp vào + Bật API và dịch vụ để bật API này.
  3. Trong ngăn điều hướng bên trái, hãy nhấp vào Thông tin xác thực.
  4. Mở trình đơn thả xuống Tạo thông tin xác thực rồi chọn Mã ứng dụng OAuth. Trên trang tiếp theo:
    1. Chọn Khác.
    2. Nếu muốn, hãy đặt tên cho ứng dụng.
    3. Nhấp vào Tạo.
  5. Nhấp vào biểu tượng tải xuống bên cạnh thông tin xác thực mà bạn vừa tạo.

Lấy khoá API

Khoá API (còn gọi là khoá nhà phát triển) được dùng để xác thực trong mã mẫu Python bên dưới. Cách lấy khoá API:

  1. Truy cập vào trang "Thông tin xác thực" của API Console
  2. Đảm bảo bạn đã chọn Dự án quản trị trong trình đơn thả xuống ở ngăn điều hướng phía trên.
  3. Nhấp vào biểu tượng tải xuống bên cạnh khoá API.

Gửi yêu cầu mẫu

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

      

Các bước tiếp theo

  • Xem các truy vấn mẫu trong Ads Data Hub để biết ví dụ về các truy vấn mà bạn có thể tạo và chạy bằng API REST của Ads Data Hub.
  • Mở rộng các mẫu để làm quen với API và tuỳ chỉnh API cho trường hợp sử dụng của bạn. Sau đó, hãy thử:
  • Liên hệ với nhóm hỗ trợ ADH nếu bạn có câu hỏi hoặc ý kiến phản hồi về API.