我的应用有搜索功能,您可以根据各种过滤器找到用户。
我最近添加了一个指标,以便您可以查看用户是否在线。我通过获取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/
有没有人试过这个?
答案 0 :(得分: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 real-time friends' online presence update
我希望这至少能为你澄清一些事情。祝你好运!
答案 1 :(得分:0)
根据我的问题(https://stackoverflow.com/questions/27222641/fetch-online-presence-for-thousands-of-facebook-app-users),上周我直接从Facebook上听说这是不可能的,并且没有计划让它成为可能。希望这可以帮助。仍在寻找获取此信息的最佳方式。