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

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

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

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

有帮助吗?

解决方案

这是我如何为一些需要类似功能的客户完成此操作的基本概述:

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

因此,基本上,您的 Facebook 应用程序的行为有点像网站和用户之间的代理,使用合法手段进行所有身份验证和请求。

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

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

笔记: 我只针对用户而不是页面执行此操作,因此您的情况可能会有所不同。

其他提示

AFAIK比用户信息等,则不能从Facebook读取的任何其它数据。

但你可以尝试其他的方式 - 说创建一个存储在网络服务器的事件和其他相关信息,然后再将其他的网站可以很容易地访问信息的应用程序

可以做 Events.get 与Facebook的API然后提供您想获得该事件的页面/配置文件ID。根据您的页面是如何设置你可能要进行身份验证,只需使用您的Facebook帐户,因为你应该能够访问所有的事件。噢,你一定要做大量的缓存,这样你不打在每一个页面加载的Facebook。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top