我已经安装了djangosocialregistration,它似乎工作正常一段时间,但现在我收到一个错误,我无法弄清楚它来自哪里。在我的观点中,我这样做是为了开始查看API ......
me = request.facebook.graph.get_object("me")
我得到了这个......
'Facebook'对象没有属性'图'
退出工作后,我回滚了一些我做过的小改动,重置所有内容,删除了cookie,但仍然无法正常工作。我正在运行django 1.1.1而且升级有点困难,但并非不可能。我一直在重装一堆试图让它工作,有没有可能facebook限制登录连接的结束?
答案 0 :(得分:1)
社会注册中间件中的Facebook类看起来像这样:
class Facebook(object):
def __init__(self, user=None):
if user is None:
self.uid = None
else:
self.uid = user['uid']
self.user = user
self.graph = facebook.GraphAPI(user['access_token'])
如果__inii__
上未设置任何用户,则不会设置graph
。在中间件中,应通过以下方式设置:
fb_user = facebook.get_user_from_cookie(request.COOKIES, getattr(settings, 'FACEBOOK_APP_ID', settings.FACEBOOK_API_KEY), settings.FACEBOOK_SECRET_KEY)
request.facebook = Facebook(fb_user)
所以我的猜测是来自Facebook的cookie没有为你的网站设置。也许你添加一些调试日志来确定是否有来自facebook的cookie。
另一个猜测是request.facebook
在某处被覆盖。也许你也检查一下。