Facebook API公众朋友的一个USERID

时间:2013-06-05 07:03:12

标签: python django facebook web-services facebook-graph-api

我正在使用django python制作一个Web服务。我可以在登录时获取我的朋友信息。我想知道步骤或API,如果我通过userId它会给我他/她的公共朋友列表

2 个答案:

答案 0 :(得分:0)

您需要对/me/friends

进行有效的access_token和Graph API调用

此文档的API文档列于https://developers.facebook.com/docs/reference/api/user/#friends

不确定您使用的是哪个Django模块,或者是否有稳定的模块,但以下是facepy github.com/jgorset/facepy

import web
from facepy import GraphAPI
from urlparse import parse_qs

url = ('/', 'index')

app_id = "YOUR_APP_ID"
app_secret = "APP_SECRET"
post_login_url = "http://0.0.0.0:8080/"

class index:
    def GET(self):
        user_data = web.input(code=None)
        code = user_data.code

if not user_data.code:
    dialog_url = ( "http://www.facebook.com/dialog/oauth?" +
                               "client_id=" + app_id +
                               "&redirect_uri=" + post_login_url )

    return "<script>top.location.href='" + dialog_url + "'</script>"
else:
    graph = GraphAPI()
    response = graph.get(
        path='oauth/access_token',
        client_id=app_id,
        client_secret=app_secret,
        redirect_uri=post_login_url,
        code=code
    )
    data = parse_qs(response)
    graph = GraphAPI(data['access_token'][0])
    friends_data = graph.get('me/friends')

if __name__ == "__main__":
    app = web.application(url, globals())
    app.run()

答案 1 :(得分:0)

你签出了https://pypi.python.org/pypi/facebook-sdk吗? 好像它可能会做你想要的。