2013-05-07 25 views
1

我们试图获取用户的最后N个变化,目前通过获取最大变化指数来实现,然后从中减去一个常数并获得更多变化。有没有办法在一次API调用中使用drive.changes.list的用户获得最近N次更改?

举个例子,我们通常正在API与CHANGESTAMP = largestChangeId电话 - 300,与设置为300

我们已经看到了尽可能少的半打变化到180个变化的maxResults回来在我们用户基数与这些参数。

我们遇到的一个问题是,我们返回的变化数量是不可预知的,某些用户的变更戳记中有大量跳转,因此我们必须在两个相当不愉快的场景中进行选择以获得最后N个变化。

  1. 请求很多更改,这可能导致API调用缓慢,只是因为有很多更改。

  2. 请求一小组更改,并逐步回收较小的批处理,由于多个API调用,这也会导致多个RPC调用,速度也较慢。

我们的目标是尽快地为用户获得最后的〜30个左右的变化。

作为一种解决方法,我们目前在应用程序中维护每个用户的状态,以根据我们上一次为用户获得的结果来调整我们请求的最大更改次数。但是,由于用户增量变化的速度会随着时间的推移而变化,这有点脆弱。

所以我的问题是:

有没有办法有效地得到最后N更改用户,特别是在一个API调用?

回答

1

ID生成非常复杂,不可能计算用户的第n个最新更改的ID :)更改列表实际上没有适合您的用例的功能。根据我个人的观点,更改列表应该按照反向时间顺序排列,并与其他团队讨论。

+1

感谢伯库夫 - 我同意反向时间顺序清单将直接解决这个问题,并将是一个非常受欢迎的补充。 – 2013-05-07 21:32:37

+1

嘿Burcu,对此有何更新? – 2013-07-29 02:00:21

相关问题