我正在为学校做一个项目,我必须从facebook获取我的所有朋友数据和一些朋友的朋友数据,以便制作一张图表。为此,我计划使用facepy,但为了做到这一点,我需要一个访问令牌。我的问题是如何获得此访问令牌?
答案 0 :(得分:6)
facepy
本身并未包含OAuth流程的方式
https://github.com/jgorset/facepy/issues/22
您需要使用自己的方法或外部库,以便通过Web应用程序引导用户。
例如,使用web.py
和facepy
通过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帐户登录。之后,页面上的所有链接都会有一个访问令牌,有权查看您可以看到的任何内容。