J'ai donc passé beaucoup trop de temps là-dessus, et il me semble que cela devrait être une solution simple. J'essaie d'utiliser l'authentification de Facebook pour enregistrer les utilisateurs sur mon site, et j'essaye de le faire côté serveur. Je suis arrivé au point où j'obtiens mon jeton d'accès, et quand je vais à:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
J'obtiens les informations que je recherche sous la forme d'une chaîne qui ressemble à ceci:
{"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"}
Il semble que je devrais simplement pouvoir l'utiliser dict(string)
, mais j'obtiens cette erreur:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
J'ai donc essayé d'utiliser Pickle, mais j'ai eu cette erreur:
KeyError: '{'
J'ai essayé de l'utiliser django.serializers
pour le désérialiser mais j'ai eu des résultats similaires. Des pensées? J'ai l'impression que la réponse doit être simple, et je suis juste stupide. Merci pour toute aide!
ast.literal_eval()
. Votre réponse (révisée) est juste, cependant - un désérialiseur JSON est une meilleure solution.
"verified":true
échoue sauf si elletrue
est définie. Ou vous pouvez utiliser"verified":True
, ou"verified":"true"
.