Dropbox API v2 的 delta 換成了很長的名字,而且原本的 server timestamp 也被加密順便也加入了一些使用者勾選的參數在裡面。
API v1 的 /delta 功能是 to track changes inside Dropbox.
delta 有2種人在看,一種是給人去看的,相對就不利於同步程式去判斷,另一種是給同步程式去看的,用來檢查最近異動的檔案。這次 Dropbox API v2 我覺得改的滿棒的,是改成給機器看。
實際測試如下:
使用者先刪除server 上的檔案。再上傳檔案到同一個路徑上,v2 的 delta 是顯示最終狀態,只丟出一個節點有異動:
{ ".tag": "file", "name": "Screenshot 2017-02-07 19.09.33.jpg", "path_lower": "/a?bc/hello/h-v3/from4-to-5/screenshot 2017-02-07 19.09.33.jpg", "path_display": "/a?bc/hello/h-v3/from4-to-5/Screenshot 2017-02-07 19.09.33.jpg", "id": "id:fR7lVuHVChEAAAAAAABdIw", "client_modified": "2017-02-08T21:19:56Z", "server_modified": "2017-02-08T21:19:56Z", "rev": "192b305eb9841", "size": 69503, "content_hash": "e28d284644bb67c2cd11323bbeea3ce537b21b6725f2092e687f4ea48fd5bb99" }
修改檔案名稱,變成2個節點有異動
{ ".tag": "deleted", "name": "Screenshot 2017-02-07 19.09.33.jpg", "path_lower": "/a?bc/hello/h-v3/from4-to-5/screenshot 2017-02-07 19.09.33.jpg", "path_display": "/a?bc/hello/h-v3/from4-to-5/Screenshot 2017-02-07 19.09.33.jpg" }, { ".tag": "file", "name": "Screenshot 2017-02-07 19.09.33-2.jpg", "path_lower": "/a?bc/hello/h-v3/from4-to-5/screenshot 2017-02-07 19.09.33-2.jpg", "path_display": "/a?bc/hello/h-v3/from4-to-5/Screenshot 2017-02-07 19.09.33-2.jpg", "id": "id:fR7lVuHVChEAAAAAAABdIw", "client_modified": "2017-02-08T21:19:56Z", "server_modified": "2017-02-08T21:21:39Z", "rev": "192b505eb9841", "size": 69503, "content_hash": "e28d284644bb67c2cd11323bbeea3ce537b21b6725f2092e687f4ea48fd5bb99" }
再重新上傳一個相同的檔案,新的檔案取得新的 id, content_hash和之前上傳的一樣,異動了2個節點。
{ ".tag": "file", "name": "Screenshot 2017-02-07 19.09.33-2.jpg", "path_lower": "/a?bc/hello/h-v3/from4-to-5/screenshot 2017-02-07 19.09.33-2.jpg", "path_display": "/a?bc/hello/h-v3/from4-to-5/Screenshot 2017-02-07 19.09.33-2.jpg", "id": "id:fR7lVuHVChEAAAAAAABdIw", "client_modified": "2017-02-08T21:19:56Z", "server_modified": "2017-02-08T21:21:39Z", "rev": "192b505eb9841", "size": 69503, "content_hash": "e28d284644bb67c2cd11323bbeea3ce537b21b6725f2092e687f4ea48fd5bb99" }, { ".tag": "file", "name": "Screenshot 2017-02-07 19.09.33.jpg", "path_lower": "/a?bc/hello/h-v3/from4-to-5/screenshot 2017-02-07 19.09.33.jpg", "path_display": "/a?bc/hello/h-v3/from4-to-5/Screenshot 2017-02-07 19.09.33.jpg", "id": "id:fR7lVuHVChEAAAAAAABdJA", "client_modified": "2017-02-08T21:22:27Z", "server_modified": "2017-02-08T21:22:27Z", "rev": "192b605eb9841", "size": 69503, "content_hash": "e28d284644bb67c2cd11323bbeea3ce537b21b6725f2092e687f4ea48fd5bb99" }
1
最後的執行截圖:
一口氣建立超深資料夾:
"/a:bc/hello/1/2.3/4"
[ { ".tag": "folder", "name": "4", "path_lower": "/a:bc/hello/1/2.3/4", "path_display": "/a:bc/hello/1/2.3/4", "id": "id:fR7lVuHVChEAAAAAAABdKw" }, { ".tag": "folder", "name": "hello", "path_lower": "/a:bc/hello", "path_display": "/a:bc/hello", "id": "id:fR7lVuHVChEAAAAAAABdKg" }, { ".tag": "folder", "name": "1", "path_lower": "/a:bc/hello/1", "path_display": "/a:bc/hello/1", "id": "id:fR7lVuHVChEAAAAAAABdKQ" }, { ".tag": "folder", "name": "2.3", "path_lower": "/a:bc/hello/1/2.3", "path_display": "/a:bc/hello/1/2.3", "id": "id:fR7lVuHVChEAAAAAAABdKA" } ]
相關文章:
delta equivalent for Core API v2
https://www.dropboxforum.com/t5/API-support/delta-equivalent-for-Core-API-v2/td-p/176292
Dropbox Api v2 – confusion with cursor and paging for list_folders
http://stackoverflow.com/questions/38483875/dropbox-api-v2-confusion-with-cursor-and-paging-for-list-folders