我试图从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
我就是想不通。我很确定请求令牌是有效的(有什么方法可以确认吗?),我通过重定向到Pockets授权页面,单击authorize并重定向到redirect_uri。在获取重定向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
从}。您正在传递一个列表,其中可能应该传递一个字符串。这应该能解决这个问题。在
{"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"],
中删除[
和{相关问题 更多 >
编程相关推荐