2013-03-03 13 views
5

Ich versuche, aus einem Access-Token zu erhalten Pockets APIPocket-API Zugriffstoken anfordern

Ich bin die Lage, eine Anfrage Token erfolgreich zu bekommen, aber wenn ich versuche, das zu verwenden, um die Zugriffstoken zu erhalten, ist es nicht mit Ein 400 fehlerhafter Anforderungsfehler.

Hier ist der Code:

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 

Ich kann einfach nicht scheinen, um es herauszufinden. Ich bin mir ziemlich sicher, dass der Request Token gültig ist (irgendeine Bestätigung?), Ich gehe zur Pockets Autorisierungsseite um, klicke auf authorize und ich werde zu redirect_uri weitergeleitet. Wenn ich die redirect_uri erhalte, dann rufe ich getAccessToken() an.

Wenn ich zusätzliche Informationen bereitstellen muss, lass es mich wissen. Danke für jede Hilfe.

Update:

Blick weiter in dieses Problem, hat Taschen eine Liste der Beschreibungen httperror. Der, den ich werfe, ist 138 - Fehlender Verbraucherschlüssel.

Das macht jetzt noch weniger Sinn, da ich den gleichen Consumer-Schlüssel verwende, um das Anfrage-Token zu erhalten.

Response-Header:

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 

Antwort

4

die [ und ] von {"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"], entfernen. Sie übergeben eine Liste, in der Sie wahrscheinlich eine Zeichenfolge übergeben sollten. Das sollte beheben.

+0

Oh Mann. Es funktionierte. Danke, Burhan, ich mache das schon seit Stunden. Du bist der beste. – ponderinghydrogen