对 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 不可检测,这意味着您必须访问以下链接,才能为您的项目启用该 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 平台 API 尚不支持客户端库,因此您必须改为发出直接 HTTP 请求。访问令牌应作为 HTTP 请求中的标头包含在内。标题应如下所示:

Authorization: OAuth <credentials>

API 页面中包含示例。