2016-12-31 17 views
1

Я пытаюсь вызвать эту строку:Почему Pocket API возвращает 403 Forbidden всегда?

curl https://getpocket.com/v3/oauth/authorize --insecure -X POST -H "Content-Type: application/json" -H "X-Accept: application/json" -d "{\"consumer_key\":\"61999-492f79db0bd3292f0b4...1\",\"code\":\"c9166709-0c45-2b1f-a22f-e...r\"}" 

и каждый раз, когда я получаю 403 Forbidden.

Я не знаю и не понимаю причину этого.

Кто-нибудь знает? Я пробовал через Python тоже:

import requests 

auth_params = {'consumer_key': 'key_here', 'redirect_uri': 'https://www.twitter.com/'} 

tkn = requests.post('https://getpocket.com/v3/oauth/request', data=auth_params) 

tkn.content 

Приведенный выше код дает мне код:

usr_params = {'consumer_key': 'key_here', 'code': 'code_here'} 
usr = requests.post('https://getpocket.com/v3/oauth/authorize', data=usr_params) 
usr.content 

здесь я получаю 403 тоже.

Как это исправить?

+0

свертыванию преобразователи: https://shibukawa.github.io/curl_as_dsl/index .html и http://curl.trillworks.com/ – furas

ответ

2

От Pocket Authentication API Documentation, вам необходимо зарегистрировать приложение, чтобы получить ключ потребителя, а затем запросить OAuth маркер через:

curl -X POST \ 
    -H 'Content-Type: application/json' \ 
    -d '{"consumer_key":"XXXXX-XXXXXXXXXXXXXXXXXXXXXX","redirect_uri":"AppTest:authorizationFinished"}' \ 
    https://getpocket.com/v3/oauth/request 

Тогда шаг 2, чтобы разрешить этот запрос токен (это шаг вам не хватает). В браузере откройте следующий URL с маркерами запроса вы получили от предыдущего шага:

https://getpocket.com/auth/authorize?request_token=XXXXXXXX-XXXX-XXXX-XXXX-XXXX&redirect_uri=AppTest:authorizationFinished 

Нажмите на «авторизовать»:

enter image description here

После маркера запроса авторизации, вы можете позвонить ваш запрос на https://getpocket.com/v3/oauth/authorize преобразовать маркер запроса в маркер доступа карман:

curl -X POST \ 
    -H 'Content-Type: application/json' \ 
    -d '{"consumer_key":"XXXXX-XXXXXXXXXXXXXXXXXXX","code":"XXXXXXXXX-XXXX-XXXX-XXXX-XXXXX"}' \ 
    https://getpocket.com/v3/oauth/authorize 

ключевым потребителем является один вы идете т при создании приложения на кармане и запрос токен один генерируется из v3/oauth/request конечной

Тогда вы получите, как и ожидалось:

{ "access_token":"5678defg-5678-defg-5678-defg56", "username":"pocketuser" } 
Смежные вопросы