2013-03-03 16 views
5

Sto cercando di ottenere un token di accesso da Pockets APIPocket API token di accesso Richiesta

Sono in grado di ottenere con successo un token di richiesta, ma quando cerco di usarlo per ottenere il token di accesso, non riesce con un errore di 400 richieste errate.

Ecco il codice:

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 

io proprio non riesco a capirlo. Sono abbastanza sicuro che il token di richiesta sia valido (qualsiasi modo per confermare?), Passo attraverso il reindirizzamento alla pagina di autorizzazione di Pockets, fai clic su autorizza e vengo reindirizzato a redirect_uri. Per ottenere il redirect_uri, questo è il momento in cui chiamo getAccessToken()

Se devo fornire ulteriori informazioni, per favore fatemelo sapere. Grazie per qualsiasi aiuto.

Aggiornamento:

Guardando più in questo problema, Pocket ha una lista di HTTPError descrizioni. Quello che sto lanciando è 138 - Manca la chiave del consumatore.

Questo ha ancora meno senso ora, poiché sto utilizzando la stessa chiave utente per ottenere il token di richiesta.

intestazioni di risposta:

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 

risposta

4

Rimuovere il [ e ] da {"consumer_key":["12092-2970cc0e27ce9a25cb39f1dd"],. Stai passando una lista, dove probabilmente dovresti passare una stringa. Che dovrebbe risolvere.

+0

Oh uomo. Ha funzionato. Grazie Burhan, ci lavoro da ore. Sei il migliore. – ponderinghydrogen

Problemi correlati