如何获得Amazon Cloud Drive访问令牌?

时间:2016-03-13 21:55:19

标签: amazon-web-services amazon amazon-clouddrive

我正在尝试获取亚马逊云端硬盘的访问令牌。 首先,我要求这个网址:

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

获取访问令牌

2 个答案:

答案 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"
}