2013-03-03 2 views
5

J'essaie d'obtenir un jeton d'accès de Pockets APIAPI Pocket jeton d'accès Demande

Je suis en mesure d'obtenir un jeton de demande avec succès, mais lorsque je tente d'utiliser pour obtenir le jeton d'accès, il échoue avec une erreur de 400 requêtes incorrectes.

Voici le 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 

Je juste ne peux pas le comprendre. Je suis assez sûr que le jeton de demande est valide (de toute façon à confirmer?), Je passe par la redirection vers la page d'autorisation de Pockets, cliquez sur autoriser et je suis redirigé vers le redirect_uri. Lors de l'obtention du redirect_uri, j'appelle getAccessToken()

Si j'ai besoin de fournir des informations supplémentaires s'il vous plaît faites le moi savoir. Merci pour toute aide.

Mise à jour:

À plus ce problème, Pocket a une liste de descriptions httpError. Celui que je lance est 138 - Clé du consommateur manquant.

Cela est encore plus simple maintenant, car j'utilise exactement la même clé de consommateur pour obtenir le jeton de demande.

têtes de réponse:

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 

Répondre

4

Retirez le [ et ] de {"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"],. Vous passez une liste, où probablement vous devriez passer une chaîne. Que devrait le réparer.

+0

Oh mec. Ça a marché. Merci Burhan, j'y vais depuis des heures. Tu es le meilleur. – ponderinghydrogen