1

djangosocialregistration をインストールしましたが、しばらくは問題なく動作しているように見えましたが、現在はエラーが発生しており、どこから来ているのかわかりません。私のビューの中で、私はAPIを見始めるためにこれをやっています...

me = request.facebook.graph.get_object("me")

そして、私はこれを取得しています...

「Facebook」オブジェクトには属性「グラフ」がありません

動作を停止した後、行ったいくつかの小さな変更をロールバックし、すべてをリセットし、Cookie を削除しましたが、まだ動作していません。私はdjango 1.1.1を実行していますが、アップグレードするのは少し難しいですが、不可能ではありません. 私はそれを機能させようとしてたくさんのリロードを行ってきましたが、Facebook が最後にログイン接続を抑制する可能性はありますか?

4

1 に答える 1

1

socialregistration のミドルウェアの 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がどこかに上書きされていることです。多分あなたもこれをチェックします。

于 2011-06-09T06:15:50.100 に答える