2010-05-03 88 views
8

我正在为一个使用Facebook作为其营销平台之一的喜剧组建立一个网站;新网站的要求之一是在日历上显示他们的所有Facebook事件。通过FaceBook API检索我自己的数据

目前,我只是试图放在一起的Python脚本,它可以从我自己的Facebook帐户中提取一些数据,就像我所有朋友的列表。我认为,一旦我能完成这一任务,我就可以将更复杂的数据从我的客户账户中提取出来(因为他们让我访问他们的账户)。

我已经看过这里的很多帖子,并且还浏览了包括Facebook Connect在内的Facebook API文档,但是我的头靠在墙上。我读过的所有内容似乎都是过度杀毒,因为它涉及到建立大量的基础设施,允许我的应用程序建立与任何用户帐户(谁授权我)的连接。鉴于我只需要访问1个帐户,它不应该简单得多吗?

我无法找到一种方法来检索数据,而无需显示Facebook登录窗口。我有一个脚本可以检索我所有的朋友,但它包含一个重定向,我必须将自己登录到Facebook。

希望有任何建议或链接,我只是觉得我必须错过简单的东西。

谢谢!

回答

2

确实,Facebook的API针对的是开发人员正在创建的应用程序,将被许多用户使用。

幸运的是,新的Graph API比其前任更易于使用,并且在不使用或创建大量底层基础架构的情况下工作起来应该不是非常困难。

需要实现授权,但这并不难,只要你提示用户获得offline_access权限,它只需要做一次。

关于Desktop Authentication的文档在这一点上可能与您最相关,尽管您可能想要在启动并运行Web应用程序后转移到基于JavaScript的身份验证。

完成身份验证后,您所做的只是向各种网址发出GET请求并处理所产生的JSON。

以下是有关事件的文档,您可以从User的朋友连接中获得朋友列表。

+0

谢谢丹尼尔和所有人,我今晚将花时间看看你们发布在Connect上的两个链接,并授权offline_access权限。我会再次发布我发现的情况,以防其他人搜索此问题。 再次感谢! – goggin13 2010-05-03 21:02:27

0

我不是Facebook/Facebook Connect上的专家,但是我已经看到它使用/使用过它的应用程序,看起来真的只有'官方'的方式来做到这一点。恐怕看起来你最好的选择可能会是这样的。不管“使用”你怎么实际上,你仍然需要批准的应用程序连接到该帐户

http://wiki.developers.facebook.com/index.php/Connect/Authentication_and_Authorization

,这意味着有一个Facebook应用程序也是如此。

7

只要发布我的笔记成功的建议,应该别人找到这篇文章;

根据丹尼尔和威廉的建议,我使用连接选项获得了正确的权限。从威廉,这个链接解释Facebook的连接是如何工作的

https://developers.facebook.com/docs/authentication/

本节就建立实际的认证是最有帮助的我。 http://developers.facebook.com/docs/api

基本上,它如下: 发布一个链接到下面的URL。用户需要在物理上点击它(即使该用户只是你,网站管理员)。 https://graph.facebook.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=http://www.example.com/HANDLER

这将重定向到Facebook登录,在用户验证后将返回到http://www.example.com/HANDLER。如果您希望做的不仅仅是基本阅读和新闻提要更新,还需要在上面的链接中包含这个变量:scope = offline_access,user_photos。范围变量只包含逗号分隔的值列表,Facebook将在登录过程中明确地告知认证用户,并且他们必须确定。对我来说最有帮助的是offline_access标志(user_photos让你也可以看到他们的照片),所以我可以在没有人定期登录的情况下提取内容(只要我存储稍后获取的访问令牌)

脚本位于http://www.example.com/HANDLER这将从请求中获取一个变量(因此,在认证之后,Facebook将重定向到http://www.example.com/HANDLER&code=YOUR_CODE)。您的处理程序需要提取代码变量,然后发送以下请求: https://graph.facebook.com/oauth/access_token
CLIENT_ID = YOUR_CLIENT_ID &
REDIRECT_URI = http://www.example.com/oauth_redirect&
client_secret = YOUR_SECRET_KEY &
代码= YOUR_CODE

此请求将返回形式的access_token = YOUR_ACCESS_TOKEN的字符串。

就分析过了“ACCESS_TOKEN =”,你将有一个令牌,可用于访问Facebook的图形API,在请求像 http://graph.facebook.com/me/friends?access_token=YOUR_ACCESS_TOKEN 这将返回一个包含所有的朋友JSON对象

希望这节省了别人一些没有趣的时间紧张的文档。谢谢您的帮助!

相关问题