Więc spędziłem nad tym dużo czasu i wydaje mi się, że powinno to być proste rozwiązanie. Próbuję użyć uwierzytelniania Facebooka, aby zarejestrować użytkowników w mojej witrynie i próbuję to zrobić po stronie serwera. Doszedłem do punktu, w którym otrzymuję token dostępu, a kiedy idę:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
Informacje, których szukam, otrzymuję jako ciąg, który wygląda następująco:
{"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"}
Wygląda na to, że powinienem być w stanie użyć dict(string)
tego, ale otrzymuję ten błąd:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Więc próbowałem użyć Pickle, ale otrzymałem ten błąd:
KeyError: '{'
Próbowałem użyć django.serializers
do de-serializacji, ale miałem podobne wyniki. jakieś pomysły? Czuję, że odpowiedź musi być prosta, a ja po prostu jestem głupi. Dzięki za pomoc!
ast.literal_eval()
. Twoja (poprawiona) odpowiedź jest jednak poprawna - deserializator JSON jest lepszym rozwiązaniem.
"verified":true
nie powiedzie się, chyba żetrue
jest zdefiniowany. Lub możesz użyć"verified":True
, lub"verified":"true"
.