我正在为学校做一个项目,我必须从 Facebook 获取我所有的朋友数据以及我的一些朋友的朋友数据,以便制作它的图表。为此,我计划使用 facepy,但为此我需要一个访问令牌。我的问题是如何获得此访问令牌?
2 回答
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/
基本上,您只需要登录。如果您转到图形 API 概览页面,它会要求您使用自己的 Facebook 帐户登录。之后,页面上的所有链接都将拥有一个访问令牌,该令牌有权查看您可以看到的任何内容。