我正在尝试获取亚马逊云端硬盘的访问令牌。 首先,我要求这个网址:
accept-charset
然后我点击继续。 之后我将重定向此URL:
https://www.amazon.com/ap/oa?client_id=MYCLIENTID&scope=clouddrive%3Aread_all%20clouddrive%3Awrite&response_type=code&redirect_uri=https://mymusic.az/signin
我从网址获得 SOMECODE 。但它不是访问令牌? 如何使用 SOMECODE ?
获取访问令牌答案 0 :(得分:1)
如果你read the documentation,那真的很明显。
有两种类型的授权,即返回将过期的授权令牌的隐式授权,以及返回不会过期的授权代码的授权代码授予。您正在申请授权码,这就是您要回复的内容。然后,只要需要检索访问令牌,就可以使用授权代码发出另一个请求。至少我建议阅读标题为"授权代码授权"的文档的整个部分。
答案 1 :(得分:1)
获得CODE后,您需要提出令牌
将POST发送到 https://api.amazon.com/auth/o2/token 内容类型 application / x-www-form-urlencoded
grant_type : set to 'authorization_code'.
code : Specifies the code returned after user authorization.
client_id : Specifies the identifier for the app. This is a body parameter.
client_secret : Specifies the secret identifier associated with the app.
redirect_uri : Specifies one of the return URIs that you added to your app when signing up.
它应该是url编码形式,而不是JSON。并且所有参数都是必需的,即使这里说redirect_uri没用,但它应该与用于代码的相同。
但作为回应,你得到像这样的JSON
{
"token_type": "bearer",
"expires_in": 3600,
"refresh_token": "Atzr|IQEBLzAtAhUAibmh-1N0EVztZJofMx",
"access_token": "Atza|IQEBLjAsAhQ3yD47Jkj09BfU_qgNk4"
}