获取用于facepy的facebook访问令牌

时间:2012-11-07 00:20:46

标签: facebook facebook-access-token

我正在为学校做一个项目,我必须从facebook获取我的所有朋友数据和一些朋友的朋友数据,以便制作一张图表。为此,我计划使用facepy,但为了做到这一点,我需要一个访问令牌。我的问题是如何获得此访问令牌?

2 个答案:

答案 0 :(得分:6)

facepy本身并未包含OAuth流程的方式

https://github.com/jgorset/facepy/issues/22

您需要使用自己的方法或外部库,以便通过Web应用程序引导用户。

Server Login

例如,使用web.pyfacepy通过me/posts权限获取read_stream

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/"

user_data = web.input(code=None)

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

    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])
    graph.get('me/posts')

有关详细信息,请参阅

* Facebook API - 用户帖子:http://developers.facebook.com/docs/reference/api/user/#posts
*用Python发布Facebook照片 - 基本酱:http://philippeharewood.com/facebook/publish-a-facebook-photo-in-python-the-basic-sauce/
* Facebook和Python - 基本酱:http://philippeharewood.com/facebook/facebook-and-python-the-basic-sauce/

答案 1 :(得分:-2)

基本上,您只需登录即可。 如果你去graph API overview page它会要求你用你自己的Facebook帐户登录。之后,页面上的所有链接都会有一个访问令牌,有权查看您可以看到的任何内容。