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

Trong ví dụ này, chúng tôi sẽ trình bày 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ý các 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ó sẵn 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 một 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ể dùng một tài khoản dịch vụ hiện có hoặc tạo một 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 tài khoản dịch vụ"
    • Bước 2 và 3 trên trang (cấp quyền truy cập vào các dự án và người dùng) là không bắt buộc

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 bạn. Việc này là cần thiết vì tài khoản dịch vụ cần được phép truy cập vào tài khoản AdSense của bạn. Vui lòng thông báo điều này thông qua người quản lý tài khoản của bạn.

Bước 3: Bật AdSense Platform API cho dự án Google Cloud của bạn

Không thể tìm AdSense Platform API, nghĩa là bạn phải truy cập vào 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ã truy cập để sử dụng trong các lệnh gọi API, bạn cần tạo một 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 Thao tác, đối với tài khoản dịch vụ mà bạn muốn 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"
  • Giữ nguyên JSON được chọn 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. Giữ an toàn vì dữ liệu này sẽ cần thiết để xác thự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ã 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 các mã này để thực hiện lệnh gọi API. Tìm hiểu về 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 AdSense Platforms API 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 API. Vì thư viện ứng dụng chưa được hỗ trợ cho AdSense Platform API nên bạn phải thực hiện các yêu cầu HTTP trực tiếp. Bạn phải đưa mã truy cập 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>

Ví dụ có trong các trang API.