Facebook API 实时好友在线状态更新

Posted

技术标签:

【中文标题】Facebook API 实时好友在线状态更新【英文标题】:Facebook API real-time friends' online presence update 【发布时间】:2011-03-14 07:23:08 【问题描述】:

我目前正在 facebook 上开发一个应用程序,其中包含我的朋友列表并显示他们的在线状态。为此,我使用了:

$fql = "SELECT uid, name, online_presence, status FROM user WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1 = '".$this->user_id."')";
$active = $this->facebook->api(array(
  'method' => 'fql.query',
  'query' =>$fql
));

但由于我只在打开应用时才获得这些信息(状态、在线状态),因此在我重新加载应用之前它不会改变。

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

请帮忙。谢谢。

【问题讨论】:

【参考方案1】:

您要么需要定期执行该查询,要么使用 XMPP (Jabber) 连接来实时获取更新。

【讨论】:

嗯,是的。您要么必须继续检查,要么连接到 XMPP 并将更新发送给您。 friends_online_presence 权限呢? 请注意,XMPP 将于 2015 年从 Facebook 中删除。 @BrianRoach 根据我的问题 (***.com/questions/27222641/…) 我直接从 Facebook 听说您目前无法订阅 online_presence,他们也没有计划让这成为可能。您认为使用 XMPP 获取此信息有不同的方法吗?

以上是关于Facebook API 实时好友在线状态更新的主要内容,如果未能解决你的问题,请参考以下文章

QQ群友在线/离线,如何测试?

Facebook Graph API:如何获得在线朋友/或最后 X 分钟活跃

在QQ好友列表中,在线好友是怎么样排序的?

实时协作 | 免费在线作图(流程图思维导图UML...)

开源项目--蓝牙聊天

怎么加qq为好友 在线等,