0

私はFacebook統合のためのとんでもない量のオプションを見てDjangoパッケージにしばらく時間を費やしました。私は誰かが私がやりたいことの選択肢を狭めることができることを望んでいました。PythonでAPIにアクセスし、さまざまなタスクを実行できるようにしたいと考えています。現在の主なタスクは次のとおりです。

ユーザーのFacebookメールをCookieから取得し、それを使用して他の情報が保存されるローカルプロファイルを作成する必要があります。誰かがこれを行っている良い例がある場合、または特定のモジュールに十分なドキュメントがある場合。

編集:また注意してください-私は登録を使いたくありません。ユーザーがFBログインを使用するときにプロファイルを作成したい。

4

1 に答える 1

1

Facebook:http ://catherinetenajeros.blogspot.com/2013/03/facebook-login.html

 def get_profile(request, token=None):
    args = {
        'client_id': settings.FACEBOOK_APP_ID,
        'client_secret': settings.FACEBOOK_APP_SECRET,
        'redirect_uri': request.build_absolute_uri(reverse('pets:fb_callback')),
        'code': token,
    }

    target = urllib.urlopen('https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(args)).read()
    response = cgi.parse_qs(target)
    access_token = response['access_token'][-1]

    return access_token 



def fb_login(request):
    args = {
        'client_id': settings.FACEBOOK_APP_ID,
        'scope': settings.FACEBOOK_SCOPE,
        'redirect_uri': request.build_absolute_uri(reverse('app_name:fb_callback')),
    }
    return HttpResponseRedirect('https://www.facebook.com/dialog/oauth?' + urllib.urlencode(args))



def fb_callback(request):
    access_token = get_profile(request, request.GET.get('code'))  
    fb_profile = urllib.urlopen('https://graph.facebook.com/me?access_token={0}'.format(access_token))
    fb_profile = json.load(fb_profile)

    fb_username = fb_profile.get('username', fb_profile['email'].split('@')[0])
    fb_id = fb_profile.id
    fb_email = fb_profile.email

    [.........]
于 2013-03-25T01:55:15.703 に答える