4

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

4

2 回答 2

6

facepy本身不包含用于 OAuth 过程的方法

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

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

服务器登录

例如使用web.pyfacepy获得许可me/postsread_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/

于 2013-01-13T16:28:16.090 回答
-2

基本上,您只需要登录。如果您转到图形 API 概览页面,它会要求您使用自己的 Facebook 帐户登录。之后,页面上的所有链接都将拥有一个访问令牌,该令牌有权查看您可以看到的任何内容。

于 2012-11-07T00:25:34.343 回答