对 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 页面中包含示例。