Quindi ho passato molto tempo su questo, e mi sembra che dovrebbe essere una soluzione semplice. Sto cercando di utilizzare l'autenticazione di Facebook per registrare gli utenti sul mio sito e sto cercando di farlo lato server. Sono arrivato al punto in cui ottengo il mio token di accesso e quando vado a:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
Ottengo le informazioni che cerco come una stringa simile a questa:
{"id":"123456789","name":"John Doe","first_name":"John","last_name":"Doe","link":"http:\/\/www.facebook.com\/jdoe","gender":"male","email":"jdoe\u0040gmail.com","timezone":-7,"locale":"en_US","verified":true,"updated_time":"2011-01-12T02:43:35+0000"}
Sembra che dovrei essere in grado di usarlo dict(string)
su questo, ma ricevo questo errore:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Quindi ho provato a usare Pickle, ma ho ricevuto questo errore:
KeyError: '{'
Ho provato django.serializers
a de-serializzarlo ma ho avuto risultati simili. qualche idea? Sento che la risposta deve essere semplice e sto solo facendo la stupida. Grazie per qualsiasi aiuto!
ast.literal_eval()
. La tua risposta (rivista) è giusta, però: un deserializzatore JSON è una soluzione migliore.
"verified":true
fallisce a meno che nontrue
sia definito. Oppure potresti usare"verified":True
, o"verified":"true"
.