Así que he dedicado mucho tiempo a esto, y me parece que debería ser una solución simple. Estoy tratando de usar la autenticación de Facebook para registrar usuarios en mi sitio, y estoy tratando de hacerlo desde el lado del servidor. He llegado al punto donde obtengo mi token de acceso y cuando voy a:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
Recibo la información que busco como una cadena que es así:
{"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"}
Parece que debería poder usar dict(string)
esto, pero recibo este error:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Así que intenté usar Pickle, pero obtuve este error:
KeyError: '{'
Intenté usar django.serializers
para deserializarlo pero obtuve resultados similares. ¿Alguna idea? Siento que la respuesta tiene que ser simple, y solo estoy siendo estúpida. ¡Gracias por cualquier ayuda!
ast.literal_eval()
. Sin embargo, su respuesta (revisada) es correcta: un deserializador JSON es una mejor solución.
"verified":true
falla a menos quetrue
esté definida. O podrías usar"verified":True
, o"verified":"true"
.