对 API 调用进行身份验证

在此示例中,我们将介绍如何使用服务帐号调用 AdSense Platforms API 以创建和管理子帐号。

第 1 步:创建新的 Google Cloud 项目(或使用现有项目)

如果您已有 Google Cloud 项目,尽可随意使用。否则,请按照以下指南设置新项目:

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

第 2 步:创建服务帐号

使用服务帐号是创建子帐号的最佳方式。请按照以下步骤创建服务帐号:

  • 访问 Google Cloud 中的服务账号页面
  • 您可以使用现有服务帐号,也可以创建一个新帐号:
    • 点击“+ 创建服务账号”
    • 填写“服务帐号详情”表单
    • 页面上的第 2 步和第 3 步(向项目和用户授予访问权限)是可选的

详细了解如何创建和管理服务账号

创建服务帐号后,您需要将其发送给 Google,以便将其添加到您的 AdSense 帐号。这一点至关重要,因为服务帐号需要有权访问您的 AdSense 帐号。请与您的客户经理沟通。

第 3 步:为您的 Google Cloud 项目启用 AdSense Platform API

找不到 AdSense Platform API,也就是说,您必须访问以下链接,为您的项目启用它:

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

第 4 步:创建服务密钥

要生成用于 API 调用的访问令牌,您需要创建一个服务密钥。请按照以下步骤操作:

  • 访问 Google Cloud 中的服务账号页面
  • 在“操作”列中,针对您要用于创建子账号的服务账号,点击 ,然后点击“管理密钥”
  • 点击“添加密钥”,然后选择“创建新密钥”
  • 选择 JSON 作为密钥类型,然后点击“创建”
  • 系统会创建一个 json 文件,并将其下载到您的计算机上。请妥善保存,因为在对 API 调用进行身份验证时需要用到它

详细了解如何创建和管理服务帐号密钥

第 5 步:使用 Google 的 OAuth 库生成访问令牌

Google 提供了一些库来帮助您生成访问令牌,这些令牌可用于进行 API 调用。如需了解如何为服务帐号生成凭据,请点击此处:

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

AdSense Platforms API 的范围如下所示:https://www.googleapis.com/auth/adsense

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

在此阶段,您可以开始调用 API 了。由于 AdSense Platform API 尚不支持客户端库,因此您必须改为发出直接 HTTP 请求。访问令牌应作为标头包含在 HTTP 请求中。标题应如下所示:

Authorization: OAuth <credentials>

API 页面中包含示例。