使用Python获取我的Facebook状态和照片的简单方法是什么?
我只是想把我的Facebook状态和照片导入到我个人的Django网站上,但我找到的所有例子和文档都是关于开发Facebook应用的。
其实一个简单的RSS订阅源就够用了,但在Facebook上似乎没有这个功能。难道我真的必须创建一个完整的Facebook应用才能做到这一点吗?
3 个回答
随着新图形API的发布,一旦你获得了oauth令牌,这个过程就变得相当简单。不过,你需要先创建一个应用程序,但这个应用可以很小,目的是为了获取你的oauth令牌,以便Facebook能授权你的请求。你可以在这里使用Python的SDK:http://github.com/facebook/python-sdk/
一旦你有了令牌,你就可以调用这个地址:https://graph.facebook.com/[你的个人资料]/statuses?token=[你的令牌]
这样你就会收到一个json格式的返回结果。
如果你先登录Facebook,然后再去文档页面,你可以通过点击statuses
链接,在connections
表中查看一个工作示例。
可能是的。任何绕过身份验证的事情都会引发很大的隐私问题。
做一个简单的Facebook应用其实并不难……当然,前提是你能搞懂developers.facebook.com上的那些复杂信息。
这里的“问题”是,你需要获取一个应用密钥、应用秘密,有时候还需要一个会话密钥,才能访问网络服务。除非有人分享一个服务来帮你做到这一点(我没有去查过,而且你得信任他们),否则唯一的办法就是自己创建一个应用。不过,应用密钥和应用秘密其实并不需要你写什么代码。它们会在Facebook开发者应用中显示出来(这个应用可以让你编辑你的应用)。
现在,你只需要一个会话密钥(不过,并不是总是需要会话密钥,具体可以看看下面的“理解会话”链接)——希望能有一个永久的会话密钥。要做到这一点,你需要请求扩展的离线访问权限**。如果你把这个权限授予一个应用,那么它就可以随时为你获取会话(也就是说,这个会话不受那个应用一小时过期政策的限制)。扩展权限。理解会话。哦,别理会那个 'auth.renewOfflineSession(UID)' 的例子——这个方法是不存在的。我早就说过“开发者”文档就像一锅乱炖 :-)
你可以使用以下格式的URL来请求自己的权限: http://www.facebook.com/tos.php?api_key=YOURAPIKEY&req_perms=offline_access。现在看看下面的链接 :-)
额外信息在这里:
**我不太确定Facebook的新政策是否会影响永久会话,但这个链接似乎和当前任务非常相关: http://blog.jylin.com/2009/10/01/loading-wall-posts-using-facebookstream_get/
(你完全可以不发布/分享你的Facebook应用——你可以永远保持在沙盒模式。)