2013-03-03 209 views
5

我試圖從Pockets API掌上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 

我剛纔似乎無法推測出來。我很確定Request Token是有效的(任何方式來確認?),我會重定向到Pockets授權頁面,點擊授權,然後重定向到redirect_uri。如果我需要提供任何額外信息,請讓我知道。如果我需要提供任何額外的信息,請讓我知道。謝謝你的幫助。

更新:

進一步看這個問題,掌上有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 

回答

4

取下{"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"],[]。您正在傳遞一個列表,您可能應該傳遞一個字符串。 應該修復它。

+0

哦,夥計。有效。感謝Burhan,我一直在這裏待了好幾個小時。你是最好的。 – ponderinghydrogen 2013-03-03 04:31:34