【问题标题】:Outside access to Facebook events外部访问 Facebook 活动
【发布时间】:2009-08-27 01:58:35
【问题描述】:

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

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

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

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

【问题讨论】:

  • 嗨,我想知道你是否有运气,我正在尝试实现一个类似于你的简单版本,并且很好奇你最终使用了什么方法。谢谢!

标签: facebook api facebook-php-sdk


【解决方案1】:

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

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

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

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

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

注意:我只为用户而不是页面做这个,所以你的里程可能会有所不同。

【讨论】:

  • 网络服务是否在此设置中增加了很多价值?
  • 在我的案例中,我使用了网络服务,因为我有多个客户使用一个 Facebook 应用程序,并且这些客户的网站与 Facebook 应用程序通信以在他们自己的网站上显示数据。如果网站和应用程序是一体的,那么您可以消除网络服务位。正如我在回答中所说,这只是我的设置。 Brant 可以做类似的事情并消除他不需要的部分。
  • 谢谢,只是好奇 - 认为通过使用 web 服务进行本地缓存可能会提高速度,但如果您不提取大量数据,似乎会增加很多复杂性。
  • 这肯定会增加另一层复杂性,在这种情况下并不是特别需要。如果应用程序和网络服务被大量用户和网站使用,那么我肯定会考虑添加缓存!
  • 我肯定会在这里寻求一个简单的解决方案,所以我可能会跳过 Web 服务位,但这是有用的信息。有一段时间我认为我必须使用 Facebook Connect 来做这种事情,我很高兴看到有一个解决方案只使用基本平台。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多