【问题标题】:how to extract feed deltas from facebook realtime update如何从 facebook 实时更新中提取提要增量
【发布时间】:2012-11-19 00:42:17
【问题描述】:

我想要的是能够对用户提要的特定更新采取行动:当其他人对用户的帖子/照片/链接进行操作,其他人对评论进行操作,其他人喜欢我的用户的评论或发布时,在照片中标记用户等。在这些情况下,我们会通知用户发生的确切更改,因此我们需要确切知道更改/发生了什么并采取行动。

我有实时工作、处理挑战、检查 sha1 签名等。更新本身基本上只是告诉我:“用户 A 的提要已更改”。我希望我得到的是“这些是自上次以来的变化”。

我可以想出几种方法来解决这个问题,但它们看起来都相当笨拙:

  • 在每次更新时保留每个用户提要的副本,通过迭代每个键手动区分,确定我检测到的更改是否是我需要采取行动的更改。我仍然不确定这是否可行,因为我只看到最后几篇文章。帖子的 cmets/likes 是否会将帖子重新排序到前面?
  • 在每次更新中跟踪最近更改的时间戳,然后在后续更新中进行过滤。这仍然意味着我必须遍历整个提要中的每个帖子/评论/点赞。
  • 我在某处读到帖子/评论 ID 单调增加。每个用户的提要都是这样吗?对于 cmets 来说,这只是帖子的本地内容吗?帖子/cmets/likes 是否共享一个 id 池,以便我可以在全球范围内依赖它?再次不确定这里的很多细节,但在这种情况下,我可以跟踪一次更新中看到的最高 id,并在后续更新中对其进行过滤。

不管怎样,所有这些看起来都很暴力。非常感谢具体的建议或方法。谢谢。

【问题讨论】:

  • 当用户的新闻源发生变化时,您有没有找到任何方法可以获得“实时更新”?

标签: facebook facebook-graph-api real-time


【解决方案1】:

您可以存储 Graph pagination 返回的散列中的“后”光标、您处理的每个帖子类型和 cmets 等。然后为提要执行 expanded field select,获取所有帖子、cmets、喜欢等.

将您的后游标与扩展字段选择中的散列中的游标进行比较,然后丢弃未更改的内容。

对哈希中剩余的内容执行batch API request 并进行处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    相关资源
    最近更新 更多