Então, eu gastei muito tempo nisso, e parece-me que deve ser uma solução simples. Estou tentando usar a autenticação do Facebook para registrar usuários no meu site e estou tentando fazer isso do lado do servidor. Cheguei ao ponto em que recebo meu token de acesso e quando vou para:
https://graph.facebook.com/me?access_token=MY_ACCESS_TOKEN
Eu recebo as informações que estou procurando como uma string assim:
{"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 eu deveria ser capaz de usar dict(string)
isso, mas estou recebendo este erro:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Então, eu tentei usar Pickle, mas recebi este erro:
KeyError: '{'
Tentei usar django.serializers
a desserialização, mas obtive resultados semelhantes. Alguma ideia? Eu sinto que a resposta tem que ser simples, e só estou sendo burra. Obrigado por qualquer ajuda!
ast.literal_eval()
. Sua resposta (revisada) está correta, no entanto - um desserializador JSON é uma solução melhor.
"verified":true
falha, a menos quetrue
esteja definido. Ou você pode usar"verified":True
, ou"verified":"true"
.