Pocket API访问令牌请求

pon*_*gen 5 python api oauth token

我正在尝试从Pockets API获取访问令牌

我能够成功获得请求令牌,但是当我尝试使用它来获取访问令牌时,它会因400错误请求错误而失败.

这是代码:

def getAccessToken(request_code):
    headers = {'Content-Type' : 'application/json; charset=UTF-8','X-Accept': 'application/json'}
    request_data = json.dumps({"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"],"code":["af0f6c9b-815b-cd1d-9864-b6d375"]})
    url = "https://getpocket.com/v3/oauth/authorize"

    response_data = makeRequest(headers,request_data,url)
    access_code, username = response_data['access_token'],response_data['username']

    return access_code,username

def makeRequest(request_headers,request_data,request_url):
    request = urllib2.Request(request_url,request_data,request_headers)
    response = urllib2.urlopen(request)
    data = json.load(response)

    return data
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄明白.我很确定请求令牌是有效的(任何方式确认?),我通过重定向到Pockets授权页面,点击授权,我被重定向到redirect_uri.在获取redirect_uri时,那是我调用getAccessToken()的时候

如果我需要提供任何额外信息,请告诉我.谢谢你的帮助.

更新:

进一步研究这个问题,Pocket有一个HTTPError描述列表.我扔的是138 - 缺少消费者密钥.

这使得现在更没意义,因为我使用完全相同的使用者密钥来获取请求令牌.

响应标头:

Cache-Control: private
Content-Type: text/html; charset=UTF-8
Date: Sun, 03 Mar 2013 03:54:01 GMT
P3P: policyref="/w3c/p3p.xml", CP="ALL CURa ADMa DEVa OUR IND UNI COM NAV INT STA PRE"
Server: Apache/2.2.23 (Amazon)
Status: 400 Bad Request
X-Error: Missing consumer key.
X-Error-Code: 138
Run Code Online (Sandbox Code Playgroud)

Bur*_*lid 4

从 中删除[和。您正在传递一个列表,您可能应该在其中传递一个字符串。那应该解决它。]{"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"],