第 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 的访问令牌。
- 有关亚马逊广告 API 中的访问令牌和刷新令牌的概念性概述,请参阅访问令牌。
要创建访问令牌和刷新令牌,请按以下步骤操作:
检索客户端编号和客户端密钥
使用您用于创建 Login with Amazon 客户端 的亚马逊账户登录 Amazon Developer。导航到 Login with Amazon 平台,找到您在之前的步骤中分配了 API 访问权限的安全配置文件的客户端编号和客户端密钥。
- 有关查找客户端编号和客户端密钥的信息,请参阅创建 Login with Amazon 应用程序。
调用授权 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 的两个必要凭据:
- 您的 Login with Amazon 客户端应用程序的客户端编号
- 使您的客户端能够访问特定用户账户的访问令牌
但是,如“入门操作”概述 中所述,大多数对 API 的请求需要使用配置文件 来访问特定站点中的数据和服务。
要检索账户的配置文件列表,请继续入门流程中的下一步: 检索配置文件标识符。
技术支持
如果您在连接亚马逊广告 API 时遇到问题,请访问亚马逊广告技术支持页面以获取相关协助。