gpt4 book ai didi

ruby-on-rails - 使用 FQL/Chat API 实时更新用户好友的 online_presence

转载 作者:行者123 更新时间:2023-12-04 05:16:45 24 4
gpt4 key购买 nike

我目前正在 facebook 中开发一个应用程序,其中包含登录用户的 friend 列表并显示他们的在线状态。为此,我使用了以下 FQL 查询:

SELECT name,uid, online_presence FROM user WHERE online_presence IN ('active', 'idle') AND uid IN ( SELECT uid2 FROM friend WHERE uid1 = me())
friends_online_presence是扩展权限并返回 Facebook 聊天状态(一个字符串,事件、空闲、离线或错误之一)。

我的问题是我怎样才能得到 friend 在线状态变化的实时更新?

选项 1:在后台进程中定期查询 Facebook API
选项 2:连接到 XMPP 以获取实时更新(以下重复问题的答案)。

之前也有人问过这个问题,这里有一些重复(未解决):
facebook-api-real-time-friends-online-presence-update &
Is-it-possible-to-subscribe-to-real-time-updates-for-user-online-presence .

我想知道是否有人解决了问题,如果是,您是如何解决的。

如果您能详细说明一下选项 2(使用 XMPP/Jabber),那就太好了,因为当用户数量较少时,我觉得定期查询只需要一段时间就足够了。

最佳答案

最好的方法是使用 XMPP。

对于通过 XMPP 集成 facebook 聊天,我认为 Rails 中最好的方法是

  • rails + StropheJS
  • 除此之外,您还可以包含类似 ember.js 的内容。 (但这不是必需的)

  • 总的来说,系统看起来像

    StropheJS (client side JS) ----> XMPP BOSH Manager (eJabberd / Punjab) ----> Facebook Servers



    除此之外,如果您是 XMPP 的新手,那么这本书 "Professional XMPP Programming with JavaScript and jQuery"值得一读并且有很多关于 strophejs 的例子

    关于ruby-on-rails - 使用 FQL/Chat API 实时更新用户好友的 online_presence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14164143/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com