开发人员指南概述

亚马逊广告 API 概览

第 2 步: 生成访问令牌和刷新令牌

入门操作:概述 | [1.创建权限授予](guides/get-started/create-authorization-grant)| [2.生成访问令牌](guides/get-started/retrieve-access-token)| [3.检索配置文件](guides/get-started/retrieve-profiles)

正如“入门操作”概述中所述,经批准的客户端应用程序可代表有权访问亚马逊广告账户的亚马逊用户账户调用亚马逊广告 API。

“入门操作”指导的第 1 步中,您创建了一个授权许可,该许可表示用户账户同意为您的客户端应用程序启用访问权限。为了表示该协议,Login with Amazon 创建了一个授权码,您将使用该代码来检索用于调用 API 的访问令牌

要创建访问令牌和刷新令牌,请按以下步骤操作:

检索客户端编号和客户端密钥

使用您用于创建 Login with Amazon 客户端 的亚马逊账户登录 Amazon Developer。导航到 Login with Amazon 平台,找到您在之前的步骤中分配了 API 访问权限的安全配置文件的客户端编号客户端密钥

调用授权 URL 来请求访问令牌和刷新令牌

要检索访问令牌和刷新令牌,请选择您所在地区的授权 URL:

地区 授权 URL
北美 (NA) https://api.amazon.com/auth/o2/token
欧洲 (EU) https://api.amazon.co.uk/auth/o2/token
远东 (FE) https://api.amazon.co.jp/auth/o2/token

然后,构建一个 POST 请求来检索访问令牌和刷新令牌。此请求具有以下查询参数:

参数 描述
grant_type 必须为 authorization_code
code 第 1 步 中检索到的授权码。请注意,此代码将在 5 分钟后过期。可以通过重复相同的步骤生成新的代码。
redirect_uri 您的 Login with Amazon 账户中 Allowed Return URLs(允许的返回 URL)字段中的值之一。
client_id 您的 Login with Amazon 账户的客户端编号
client_secret 您的 Login with Amazon 账户的客户端密钥

例如,要使用 cURL 检索访问令牌和刷新令牌,请将以下请求中的值替换为您指定的值:

curl  \
    -X POST \
    --data "grant_type=authorization_code&code=AUTH_CODE&redirect_uri=YOUR_RETURN_URL&client_id=YOUR_CLIENT_ID&client_secret=YOUR_SECRET_KEY" \
    https://api.amazon.com/auth/o2/token  

访问令牌响应

对成功令牌请求的响应是一个 JSON 对象,其架构如下:

字段 描述
access_token 表示访问令牌。
refresh_token 表示刷新令牌。
token_type 表示 OAuth 2.0 令牌的类型。请始终设置为 bearer
expires_in 访问令牌过期之前的时间长度,以秒为单位。

例如:

{
    "access_token": "Atza|XXXXXXXXXXXX",
    "refresh_token": "Atzr|XXXXXXXXXXXX",
    "token_type": "bearer",
    "expires_in": 3600
}

请注意,访问令牌的有效期为 60 分钟。可以使用刷新令牌随时生成新的访问令牌。刷新令牌不会过期。

注意

如果请求失败,可能会返回一个 400 响应,其中包含以下错误描述 error_description"The request has an invalid parameter : code"

这可能表示授权码已过期,因为代码在 5 分钟后过期。可以通过重复本指导教程的第 1 步 以生成新的代码。

有关 LwA 错误响应的更多信息,请参阅访问令牌错误

使用刷新令牌

使用授权码检索到令牌后,可随时使用刷新令牌检索新的访问令牌。使用刷新令牌可以向上述确定的相同 URL 发出调用,但是会包含不同的参数。

后续步骤

现在,您拥有了成功请求亚马逊广告 API 的两个必要凭据:

但是,如“入门操作”概述 中所述,大多数对 API 的请求需要使用配置文件 来访问特定站点中的数据和服务。

要检索账户的配置文件列表,请继续入门流程中的下一步: 检索配置文件标识符

技术支持

如果您在连接亚马逊广告 API 时遇到问题,请访问亚马逊广告技术支持页面以获取相关协助。