Drive의 항목 변경사항을 추적해야 하는 Google Drive 앱의 경우 변경사항 컬렉션을 사용하면 변경사항을 효율적으로 감지할 수 있습니다. 컬렉션은 지정된 시점 이후에 항목이 변경된 경우에만 각 항목의 현재 상태를 제공하는 방식으로 작동합니다.
Google Drive는 각 사용자 및 공유 드라이브의 변경 로그를 보관합니다. 각각 관심 있는 항목에 대한 변경사항을 자체적으로 기록합니다.
사용자에게 표시되는 모든 항목의 변경사항을 추적하려면 사용자 변경 로그와 사용자가 멤버인 모든 공유 드라이브의 변경 로그를 모두 재생해야 합니다.
변경 항목 사용 설정
변경 항목은 특정 시점의 파일 또는 공유 드라이브 상태를 나타냅니다. 변경사항은 버전 간의 차이를 제공하지 않습니다. 변경된 속성을 알아야 하는 애플리케이션은 이전에 알려진 항목 상태를 유지하고 비교해야 합니다.
변경사항은 항목의 현재 상태를 나타내므로 개별 변경사항 항목이 무효화되고 해당 항목의 최신 변경사항 항목으로 대체될 수 있습니다.
Tombstone
사용자가 더 이상 사용할 수 없는 항목의 변경 항목은 변경 항목에 deleted로 표시됩니다. 변경 항목에서는 항목의 ID만 사용할 수 있습니다.
공유 드라이브 추적하기
공유 드라이브마다 자체 변경 로그가 있습니다. 사용자가 공유 드라이브의 멤버일 수 있지만 특정 변경사항은 공유 드라이브 변경 로그에만 반영되고 사용자의 변경 로그에는 반영되지 않습니다. 파일이 공유 드라이브에 속하는 경우 과거에 사용자의 변경 로그에 파일이 표시되었더라도 사용자의 변경 로그만 재생하면 파일 상태가 올바르게 업데이트되지 않습니다. 대신 공유 드라이브의 변경 로그를 재생하여 모든 변경사항을 캡처해야 합니다.
사용자의 변경 로그에 포함되는 항목
사용자의 변경 로그에는 사용자가 멤버인 공유 드라이브의 변경사항과 사용자 코퍼스의 파일 변경사항이 포함됩니다. 자료에 관한 자세한 내용은 변경사항 및 버전 개요를 참고하세요.
다음과 같은 공유 드라이브 변경사항이 사용자의 변경 로그에 표시됩니다.
- 사용자가 공유 드라이브의 멤버가 됩니다.
- 사용자가 더 이상 공유 드라이브의 멤버가 아닙니다.
- 사용자가 멤버인 공유 드라이브에 직접적으로 관련된 변경사항이 있습니다. 예를 들면 다음과 같습니다.
- 해당 공유 드라이브에 대한 사용자의 액세스 수준이 변경되었습니다.
- 공유 드라이브의 이름이 변경됩니다.
사용자가 공유 드라이브의 멤버가 되면 공유 드라이브의 단일 변경 이벤트가 사용자의 변경 로그에 표시됩니다. 이는 공유 드라이브의 모든 항목에 대한 액세스 권한을 의미합니다. 사용자가 멤버가 되면 공유 드라이브에 포함된 항목의 변경사항을 수신하지 않습니다.
공유 드라이브의 멤버는 사용량에 따라 공유 드라이브에 있는 항목의 변경 이벤트를 볼 수 있습니다. 하지만 사용자가 공유 드라이브의 멤버인 경우 애플리케이션은 이러한 이벤트에 의존해서는 안 됩니다. 대신 공유 드라이브의 변경 로그를 사용하여 변경사항을 추적하세요.
비회원에게 공유 드라이브의 개별 항목에 대한 파일 액세스 권한이 부여되면 해당 항목의 변경사항이 사용자의 변경 로그에 추적됩니다. 이는 사용자에게 직접 공유되는 공유되지 않은 Drive 항목과 동일합니다.
공유 드라이브 변경 로그에 표시되는 변경사항
사용자가 공유 드라이브의 멤버인 경우 다음이 포함된 공유 드라이브의 변경 로그에 액세스할 수 있습니다.
- 멤버 추가 또는 삭제와 같은 공유 드라이브 자체의 변경사항
- 공유 드라이브에 포함된 항목을 직접 변경합니다.
권한 및 기능 동기화
공유 드라이브 또는 공유 드라이브 내 항목의 권한이 변경되면 Drive는 폴더 계층 구조를 탐색하여 변경사항을 상속하는 모든 직접 및 간접 하위 요소의 유효 권한을 업데이트합니다. 변경 로그는 수정된 항목과 영향을 받는 각 하위 요소에 대해 별도의 항목을 기록합니다. 클라이언트 애플리케이션은 changes.list에서 개별 변경 로그 항목을 수신하며 기능을 수동으로 전파하거나 하위 항목을 다시 가져올 필요가 없습니다.