0

我在 Django 包上花了一些时间来研究 Facebook 集成的大量选项。我希望有人可以缩小我想做的选择。我希望能够使用 python 访问 API 并执行各种任务。目前的主要任务如下:

我需要从 cookie 中获取用户的 facebook 电子邮件,然后使用它来创建一个本地配置文件,其中将存储其他信息。如果有人这样做的一个很好的例子,或者如果一个特定的模块有好的文档就足够了。

编辑:另请注意 - 我不想使用注册。我希望在用户使用 FB 登录时创建配置文件。

4

1 回答 1

1

脸书: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 回答