代码之家  ›  专栏  ›  技术社区  ›  Brant Bobby

外部访问Facebook活动

  •  5
  • Brant Bobby  · 技术社区  · 15 年前

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

    我不确定的是:Facebook API是否可以“从外部”使用?我已经下载了PHP库,并运行了一个可以运行的演示应用程序。 从Facebook内部 (即,向登录用户发送facebook.com解释和显示的FBML),但在我的情况下,我希望第三方(我的Web服务器)每隔一段时间查询facebook,而不是直接从facebook请求数据(html/json/etc)的网站访问者。

    Facebook API是否可以实现这种功能?我的Web服务器如何进行身份验证?我必须存储哪些信息?

    注意:我在“序列图”概念级别上寻找更多信息,而不仅仅是要求代码。那部分我自己能搞清楚。不幸的是,谷歌和FB开发者维基还没有完全面世。我需要知道什么才能开始编码?

    3 回复  |  直到 9 年前
        1
  •  5
  •   DSchultz    13 年前

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

    1. 创建一个非常基本的应用程序,提示 Extended permissions ,特别是“离线访问”以及您需要的任何其他内容
    2. 存储结果 Session Key 在数据库中 UID
    3. 为应用程序创建一个安全的、经过身份验证的WebService,它允许您使用存储在数据库中的会话获取所需的uid信息。
    4. 在网站上向你的应用程序的WebService发出请求,确保将结果缓存一段时间,并且只有在缓存过期后才向你的WebService发出新的请求(我的大部分时间使用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

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

        2
  •  3
  •   Arpit Tambi    15 年前

    除了用户信息,你不能从Facebook上获取任何其他数据。

    但是你也可以用其他的方法来尝试——比如创建一个在网络服务器上存储事件和其他相关信息的应用程序,然后你的其他网站就可以轻松地访问这些信息。

        3
  •  3
  •   Tom    15 年前

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