5

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

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

Facebook API 可以实现这种功能吗?我的网络服务器将如何自我验证?我必须存储哪些信息?

注意:我正在寻找更多“序列图”概念级别的信息,而不仅仅是询问代码。那部分我可以自己弄清楚。;) 不幸的是,谷歌和 FB 开发者 wiki 还没有完全公开。我需要知道什么才能开始编码?

4

3 回答 3

5

这是我为一些想要类似功能的客户所做的基本概述:

  1. 创建一个非常基本的应用程序,提示扩展权限,特别是“offline_access”以及您需要的任何其他内容
  2. 使用UID将生成的会话密钥存储在数据库中
  3. 为您的应用程序创建一个安全的、经过身份验证的 Web 服务,它允许您使用存储在数据库中的会话获取您提供的 UID 所需的信息
  4. 在网站上向您的应用程序的网络服务发出请求,确保将结果缓存一段时间,并且只有在缓存过期后才向您的网络服务发出新请求(我的大部分时间使用 5-10 分钟)

所以基本上你的 Facebook 应用程序有点像网站和用户之间的代理,使用合法的方式进行所有的身份验证和请求。

我使用了网络服务,因为我只想维护一个 Facebook 应用程序来满足多个客户的需求。它的工作原理是这样的(在一个不太棒的 ASCII 艺术图中):

Facebook 用户 1 \ / 客户网站 1
Facebook 用户 2 --- Facebook 应用程序 --- 客户网站 2
Facebook 用户 3 / \ 客户网站 3

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

于 2009-09-03T01:00:09.803 回答
4

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

于 2009-09-02T08:13:01.897 回答
3

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

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

于 2009-08-29T16:33:36.923 回答