如果 Google 雲端硬碟應用程式需要追蹤雲端硬碟中項目的變更,Changes 集合可提供有效率的變更偵測方式。只有在項目自指定時間點後有所變更時,集合才會提供每個項目的目前狀態。
Google 雲端硬碟會為每位使用者和共用雲端硬碟保留變更記錄。每個人都有自己的記錄,記錄他們感興趣的項目變更。
如要追蹤使用者可見的「所有」項目變更,必須重播使用者變更記錄,以及使用者所屬所有共用雲端硬碟的變更記錄。
啟用變更項目
變更項目代表檔案或共用雲端硬碟在特定時間點的狀態。變更不會提供修訂版本之間的差異。如果應用程式需要知道哪些屬性已變更,應保留項目先前已知的狀態並進行比較。
由於變更代表項目的目前狀態,因此個別變更項目可能會失效,並由對應項目的新變更項目取代。
Tombstone
如果使用者無法再存取某個項目,該項目的變更項目會標示為 deleted。變更項目中只會顯示項目 ID。
追蹤共用雲端硬碟
每個共用雲端硬碟都有專屬的變更記錄。即使使用者是共用雲端硬碟的成員,某些變更也只會反映在共用雲端硬碟的變更記錄中,而不會反映在使用者的變更記錄中。如果檔案屬於共用雲端硬碟,即使檔案在過去某個時間點仍出現在使用者的變更記錄中,單純重播使用者的變更記錄也無法正確更新檔案狀態。您必須重播共用雲端硬碟的變更記錄,才能擷取所有變更。
使用者變更記錄包含哪些內容
使用者的變更記錄包含他們所屬共用雲端硬碟的變更,以及使用者語料庫中檔案的變更。如要進一步瞭解語料庫,請參閱「變更和修訂版本總覽」。
使用者的變更記錄會顯示下列共用雲端硬碟變更:
- 使用者成為共用雲端硬碟成員。
- 使用者不再是共用雲端硬碟的成員。
- 使用者所屬的共用雲端硬碟發生直接相關的變更,例如:
- 使用者在該共用雲端硬碟的存取層級已變更。
- 共用雲端硬碟會重新命名。
使用者成為共用雲端硬碟成員時,該共用雲端硬碟的單一變更事件會顯示在該使用者的變更記錄中。這表示可以存取共用雲端硬碟中的所有項目。使用者成為成員後,不會收到共用雲端硬碟中項目的變更通知。
共用雲端硬碟的成員可能會根據使用情形,看到共用雲端硬碟中項目的變更事件。不過,如果使用者是共用雲端硬碟的成員,應用程式不應依賴這些事件。請改用共用雲端硬碟的變更記錄追蹤變更。
如果非成員獲授予共用雲端硬碟中個別項目的檔案存取權,系統會在該使用者的變更記錄中追蹤這些項目的變更。這與直接與使用者共用的非共用雲端硬碟項目相同。
共用雲端硬碟變更記錄中顯示的變更
如果使用者是共用雲端硬碟的成員,可以存取該共用雲端硬碟的變更記錄,其中包含:
- 共用雲端硬碟本身的任何變更,例如新增或移除成員
- 直接變更共用雲端硬碟中的項目。
同步處理權限和功能
共用雲端硬碟或其中項目的權限變更時,雲端硬碟會遍歷資料夾階層,更新所有直接和間接子項的有效權限,讓這些子項沿用變更。變更記錄會為修改的項目和每個受影響的子系分別記錄一筆項目。用戶端應用程式會從 changes.list 接收個別變更記錄項目,不需要手動傳播功能或重新擷取子項目。