外部访问Facebook活动

时间:2009-08-27 01:58:36

标签: facebook api facebook-php-sdk

假设我拥有/控制发布活动的Facebook页面。我想在另一个网站(在我的例子中,一个WordPress博客,但这不是重要的部分)在“即将发生的事件”页面上显示这些事件。

我不确定的是:Facebook API是否可以“外部”使用?我已经下载了PHP库并且有一个运行的演示应用程序,可以在Facebook 中运行(即发出facebook.com解释并显示给登录用户的FBML),但在我的情况下,我想要第三方(我的网络服务器)经常查询Facebook,而不是直接从Facebook本身请求数据(HTML / JSON /等)的网站访问者。

使用Facebook API可以做到这一点吗?我的Web服务器如何验证自己?我需要存储哪些信息?

注意:我正在寻找更多关于“序列图”概念级别的信息,而不仅仅是要求代码。那部分我可以弄清楚自己。 ;)不幸的是,谷歌和FB开发者维基尚未完全即将推出。我需要知道什么才能开始编码?

3 个答案:

答案 0 :(得分:5)

这是我为一些想要类似功能的客户完成这项工作的基本概述:

  1. 创建一个非常基本的应用程序,提示Extended permissions,特别是“offline_access”以及您需要的任何其他内容
  2. 使用Session Key
  3. 将结果UID存储在您的数据库中
  4. 为您的应用创建一个经过身份验证的安全网络服务,该服务允许您使用存储在数据库中的会话获取您提供的UID所需的信息
  5. 在网站上向您应用的网络服务发出请求,确保将结果缓存一段时间,并且只在缓存过期后向您的网络服务发出新请求(对于我的大部分时间,我使用5-10分钟) )
  6. 所以基本上你的Facebook应用程序有点像网站和用户之间的代理,使用合法手段进行所有身份验证和请求。

    我使用过网络服务,因为我只想维护一个Facebook应用程序以满足多个客户的需求。它的工作原理如下(在一个非常非常棒的ASCII艺术图中):

    Facebook User 1 \                    / Client Website 1
    Facebook User 2  --- Facebook App ---  Client Website 2
    Facebook User 3 /                    \ Client Website 3

    注意: 我只为用户而不是网页完成此操作,因此您的里程可能会有所不同。

答案 1 :(得分:3)

除了用户信息之外的AFAIK,您无法从Facebook获取任何其他数据。

但您可以尝试其他方式 - 例如创建一个应用程序,将事件和其他相关信息存储在网络服务器上,然后您的其他网站就可以轻松访问该信息。

答案 2 :(得分:3)

您可以使用Facebook API执行Events.get,然后提供您想要获取活动的页面/个人资料ID。根据您的页面设置方式,您可能需要进行身份验证,只需使用您的Facebook帐户,因为您应该可以访问所有活动。哦,并确保你做了大量的缓存,这样你就不会在每个页面上加载Facebook。