2013-05-07 24 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