2

我的应用程序有一个搜索功能,您可以在其中根据各种过滤器找到用户。

我最近添加了一个指示器,以便您可以查看用户是否在线。我通过获取 user_online_presence 权限来完成这项工作,然后在过滤结果后,使用存储在我的数据库中的用户 access_token 发出 FQL 请求。

现在,我想做到这一点,这样我就可以根据用户是否登录来过滤搜索。所以,不知何故,我需要将每个用户的在线状态存储在我的数据库中。

这似乎是实时更新的用途,但 Facebook 并未将 online_presence 列为我可以订阅的内容。

https://developers.facebook.com/docs/reference/api/realtime/上,他们说:“您可以订阅除已验证之外的所有用户对象属性。”

但 online_presence 未列为用户字段: https ://developers.facebook.com/docs/reference/api/user/

有没有人试过这个?

4

2 回答 2

1

它绝对是用户表的一个字段,否则下面的查询将不起作用。

SELECT uid, name, pic_square, online_presence FROM user

但是,它只列在: https ://developers.facebook.com/docs/reference/fql/user/

而不是: https ://developers.facebook.com/docs/reference/api/user/

遇到此类问题时,我通常会通读两份文档的注释。

然后我发现:“您可以缓存此数据并订阅其任何字段的实时更新,这些字段也是相应 Graph API 版本中的字段。” - Facebook

所以基本上,他们说除非两个链接中都存在该字段,否则它不会起作用。

然后我会尝试在这个问题中找到答案:

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

我希望这至少可以为您澄清一些事情。祝你好运!

于 2012-07-28T13:40:15.380 回答
0

根据我的问题(https://stackoverflow.com/questions/27222641/fetch-online-presence-for-thousands-of-facebook-app-users),上周我直接从 Facebook 听说这是不可能的,并且没有计划使它成为可能。希望这可以帮助。仍在寻找获取此信息的最佳方式。

于 2014-12-14T02:36:11.723 回答