Ich habe viel zu viel Zeit damit verbracht, und es scheint mir, dass es eine einfache Lösung sein sollte. Ich versuche, die Authentifizierung von Facebook zu verwenden, um Benutzer auf meiner Website zu registrieren, und ich versuche, dies serverseitig zu tun. Ich habe den Punkt erreicht, an dem ich mein Zugriffstoken erhalte und wenn ich gehe zu:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
Ich erhalte die gesuchten Informationen als Zeichenfolge, die wie folgt aussieht:
{"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"}
Es scheint, als ob ich nur in der Lage sein sollte, dies zu verwenden, dict(string)
aber ich erhalte den folgenden Fehler:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Also habe ich versucht, Pickle zu verwenden, aber diesen Fehler erhalten:
KeyError: '{'
Ich habe versucht, es django.serializers
zu de-serialisieren, hatte aber ähnliche Ergebnisse. Irgendwelche Gedanken? Ich denke, die Antwort muss einfach sein, und ich bin nur dumm. Vielen Dank für jede Hilfe!
ast.literal_eval()
. Ihre (überarbeitete) Antwort ist jedoch richtig - ein JSON-Deserializer ist eine bessere Lösung.
"verified":true
schlägt fehl, sofern nichts anderestrue
definiert ist. Oder Sie könnten verwenden"verified":True
, oder"verified":"true"
.