2016-03-13 3 views
1

Я пытаюсь получить токен доступа для облачного диска Amazon. Сначала я прошу этот адрес:Как я могу получить токен доступа Amazon Cloud Drive?

https://www.amazon.com/ap/oa?client_id=MYCLIENTID&scope=clouddrive%3Aread_all%20clouddrive%3Awrite&response_type=code&redirect_uri=https://mymusic.az/signin 

Тогда я щелкая по-прежнему. После этого я перенаправлять этот URL:

https://mymusic.az/signin?code=SOMECODE&scope=clouddrive%3Aread_all+clouddrive%3Awrite 

Я получил SOMECODE из URL. Но это не токен доступа? Как я могу получить токен доступа с SOMECODE?

ответ

1

Это действительно очевидно, что происходит, если вы read the documentation.

Существует два типа авторизации: неявные гранты, которые возвращают токен авторизации, срок действия которого истекает, и гранты кода авторизации, которые возвращают код авторизации, срок действия которого не истекает. Вы запрашиваете авторизационный код, и это то, что вы возвращаете. Затем вы делаете другой запрос, используя код авторизации, когда вам нужно получить токен доступа. По крайней мере, я предлагаю прочитать весь раздел документации под названием «Authorize Code Grant».

1

После вы получили код, который вы должны задать для маркера

Отправить POST для https://api.amazon.com/auth/o2/token с типом контента применение/х-WWW-форм-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" 
} 
Смежные вопросы