对 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 页面中提供了相关示例。