对 API 调用进行身份验证

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

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

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

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

第 2 步:创建服务账号

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

  • 访问 Google Cloud 中的服务账号页面
  • 您可以使用现有服务账号,也可以创建一个新账号: <ph type="x-smartling-placeholder">
      </ph>
    • 点击“+ 创建服务账号”
    • 填写“服务账号详情”表单
    • 页面上的第 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 Platform API 尚不支持客户端库,因此必须改为发出直接 HTTP 请求。访问令牌应作为标头包含在 HTTP 请求中。标题应如下所示:

Authorization: OAuth <credentials>

API 页面中提供了相关示例。