2013-02-25 50 views
1

不幸的是,Facebook的实时API只通知约东西已经改变了在应用程序的用户的朋友连接。实时用户朋友更新:新朋友

什么我必须做的,以确定用户A刚刚成为朋友与用户X

目前,只要我收到用户A的朋友已经从Facebook的实时API改变通知,我接收到完整的/UserA/friends.json,寻呼THROU整个结果只识别自上一次是什么已被添加。

虽然这个工作,它只是感觉像很多的计算周期浪费,我想知道是否有一个更优雅的方式来这...

回答

2

就是这样它的设计和有没有“解决方案”。

注意这不包括实际的数据值(无论是从 前或更新后)。为了获得这些,您的应用程序可以请求 他们作为正常,受通常的隐私限制。对于您随时可以访问的数据 ,您可能希望在此回调之后立即查询该数据,以便在用户返回到您的应用时准备好该数据。

来源:https://developers.facebook.com/docs/reference/api/realtime/

它使一个很大的意义,因为Facebook能够向您发送的所有更新,同时不知道,如果你有相应的权限,以获得新的数据,所以有一个非常简单的方法来在隐私方面做。

如果您有一个有效的用户令牌(在您的数据库中),您可以通过Graph API/FQL检索更新的字段,并将其与数据库中的数据进行比较。如果没有实时API,您需要每x小时/天提取一次数据,这更加浪费资源。

如果您没有有效的用户令牌当用户回到您的应用并将其与数据库中的数据进行比较时,您可以通过Graph API/FQL检索更新的字段。如果没有实时API,当用户回来时,您总是需要更新/检查数据。

+0

好吧,我有有效的用户令牌。但是,如何检索“更新”字段?例如自上次约会以来的新朋友我检查过。我认为目前没有办法查询通过添加日期订购的朋友。所以如果一个Facebook用户刚收到一个新朋友,并且实时API会通知他,那么我仍然需要查询他的所有朋友,并与我已有的信息进行比较。 – muhqu 2013-03-05 09:47:03

+0

我们已经每天进行大约10万次api调用,主要由实时api触发。只是想知道是否有办法降低“识别新朋友”的成本。 – muhqu 2013-03-05 09:55:08

+0

是的,朋友连接中没有“created_date”字段,也没有办法通过_virtual_“created_date”afaik来排序结果。 – 2013-03-05 10:19:37