Xác thực lệnh gọi API

Trong ví dụ này, chúng tôi sẽ hướng dẫn cách sử dụng tài khoản dịch vụ để gọi API Nền tảng AdSense nhằm tạo và quản lý tài khoản phụ.

Bước 1: Tạo một dự án Google Cloud mới (hoặc sử dụng một dự án hiện có)

Nếu bạn đã có một dự án trên Google Cloud, hãy sử dụng dự án đó. Nếu không, hãy làm theo hướng dẫn bên dưới để thiết lập dự án mới:

https://cloud.google.com/resource-manager/docs/creating-managing-projects

Bước 2: Tạo tài khoản dịch vụ

Sử dụng tài khoản dịch vụ là cách tốt nhất để tạo tài khoản phụ. Hãy làm theo các bước sau để tạo tài khoản dịch vụ:

  • Truy cập vào trang tài khoản dịch vụ trong Google Cloud
  • Bạn có thể sử dụng tài khoản dịch vụ hiện có hoặc tạo tài khoản mới:
    • Nhấp vào "+ Tạo tài khoản dịch vụ"
    • Điền vào biểu mẫu "Thông tin chi tiết về tài khoản dịch vụ"
    • Bạn không bắt buộc phải thực hiện bước 2 và 3 trên trang này (cấp quyền truy cập vào dự án và người dùng)

Tìm hiểu thêm về cách tạo và quản lý tài khoản dịch vụ.

Sau khi tạo tài khoản dịch vụ, bạn cần gửi tài khoản đó cho Google để thêm tài khoản đó vào tài khoản AdSense của mình. Điều này rất quan trọng vì tài khoản dịch vụ cần được cấp quyền truy cập vào tài khoản AdSense của bạn. Vui lòng thông báo cho chúng tôi qua người quản lý tài khoản của bạn.

Bước 3: Bật API Nền tảng AdSense cho dự án Google Cloud

API Nền tảng AdSense không thể tìm thấy, nghĩa là bạn phải truy cập vào đường liên kết sau để bật API này cho dự án của mình:

https://console.developers.google.com/apis/api/adsenseplatform.googleapis.com/overview

Bước 4: Tạo khoá dịch vụ

Để tạo mã thông báo truy cập dùng trong các lệnh gọi API, bạn cần tạo khoá dịch vụ. Hãy làm theo các bước sau:

  • Truy cập vào trang tài khoản dịch vụ trong Google Cloud
  • Trong cột hành động, đối với tài khoản dịch vụ mà bạn muốn sử dụng để tạo tài khoản phụ, hãy nhấp vào rồi nhấp vào "Quản lý khoá"
  • Nhấp vào "Thêm khoá", sau đó chọn "Tạo khoá mới"
  • Chọn JSON làm loại khoá và nhấp vào "Tạo"
  • Một tệp json sẽ được tạo và tải xuống máy tính của bạn. Hãy giữ an toàn cho mã này vì bạn sẽ cần mã này để xác thực các lệnh gọi API

Tìm hiểu thêm về cách tạo và quản lý khoá tài khoản dịch vụ.

Bước 5: Sử dụng thư viện OAuth của Google để tạo mã thông báo truy cập

Google cung cấp các thư viện giúp tạo mã truy cập. Bạn có thể dùng mã truy cập này để thực hiện lệnh gọi API. Tìm hiểu cách tạo thông tin xác thực cho tài khoản dịch vụ tại đây:

https://developers.google.com/identity/protocols/oauth2/service-account#authorizingrequests

Phạm vi của API Nền tảng AdSense như sau: https://www.googleapis.com/auth/adsense

Ví dụ về Python

from google.auth.transport import requests
from google.oauth2 import service_account

CREDENTIAL_SCOPES = ["https://www.googleapis.com/auth/adsense"]
CREDENTIALS_KEY_PATH = 'service.json'

def get_service_account_token():
  credentials = service_account.Credentials.from_service_account_file(
          CREDENTIALS_KEY_PATH, scopes=CREDENTIAL_SCOPES)
  credentials.refresh(requests.Request())
  return credentials.token

Ở giai đoạn này, bạn đã sẵn sàng bắt đầu gọi các API. Vì thư viện ứng dụng chưa được hỗ trợ cho API Nền tảng AdSense, nên bạn phải tạo yêu cầu HTTP trực tiếp. Mã truy cập phải được đưa vào dưới dạng tiêu đề trong yêu cầu HTTP. Tiêu đề sẽ có dạng như sau:

Authorization: OAuth <credentials>

Các ví dụ được đưa vào các trang API.