ユーザーと共有ドライブに対する変更を確認する

ドライブ内のアイテムの変更を追跡する必要がある Google ドライブ アプリの場合、変更コレクションを使用すると、変更を効率的に検出できます。このコレクションは、特定の時点以降にアイテムが変更された場合にのみ、各アイテムの現在の状態を提供します。

Google ドライブには、ユーザーと共有ドライブごとに変更ログが保持されます。それぞれ、関心のあるアイテムの変更に関する独自のレコードがあります。

ユーザーに表示されるすべてのアイテムの変更を追跡するには、ユーザーの変更ログと、ユーザーがメンバーであるすべての共有ドライブの変更ログの両方を再生する必要があります。

変更エントリを有効にする

変更エントリは、特定の時点でのファイルまたは共有ドライブの状態を表します。変更では、リビジョン間の差分は提供されません。どのプロパティが変更されたかを知る必要があるアプリは、アイテムの以前の既知の状態を保持して比較する必要があります。

変更はアイテムの現在の状態を表すため、個々の変更エントリが無効になり、対応するアイテムの新しい変更エントリに置き換えられることがあります。

Tombstone

ユーザーが利用できなくなったアイテムの変更エントリは、変更エントリで deleted としてマークされます。変更エントリで使用できるのは、アイテムの ID のみです。

共有ドライブを追跡する

各共有ドライブには独自の変更ログがあります。ユーザーが共有ドライブのメンバーであっても、特定の変更は共有ドライブの変更ログにのみ反映され、ユーザーの変更ログには反映されません。ファイルが共有ドライブに属している場合、過去のある時点でそのファイルがユーザーの変更ログに表示されていたとしても、ユーザーの変更ログを再生するだけでは、ファイルのステータスが正しく更新されません。代わりに、共有ドライブの変更ログを再生してすべての変更をキャプチャする必要があります。

ユーザーの変更ログに含まれる内容

ユーザーの変更ログには、ユーザーがメンバーである共有ドライブに加え、ユーザーのコーパス内のファイルの変更も含まれます。コーパスの詳細については、変更とリビジョンの概要をご覧ください。

共有ドライブの変更は、ユーザーの変更ログに表示されます。

  • ユーザーが共有ドライブのメンバーになります。
  • ユーザーが共有ドライブのメンバーでなくなった。
  • ユーザーがメンバーである共有ドライブに直接関連する変更がある場合(例:
    • その共有ドライブに対するユーザーのアクセスレベルが変更された。
    • 共有ドライブの名前が変更されます。

ユーザーが共有ドライブのメンバーになると、共有ドライブの変更イベントが 1 件、ユーザーの変更ログに表示されます。これは、共有ドライブ内のすべてのアイテムにアクセスできることを意味します。ユーザーがメンバーになったときに、共有ドライブ内のアイテムの変更は通知されません。

共有ドライブのメンバーは、使用状況に応じて、共有ドライブ内のアイテムの変更イベントが表示されることがあります。ただし、ユーザーが共有ドライブのメンバーである場合は、これらのイベントに依存しないでください。代わりに、共有ドライブの変更ログを使用して変更を追跡します。

メンバー以外のユーザーに共有ドライブ内の個々のアイテムへのファイル アクセス権が付与されている場合、それらのアイテムに対する変更はユーザーの変更ログに記録されます。これは、ユーザーと直接共有されている共有対象外のドライブ アイテムと同じです。

共有ドライブの変更ログに表示される変更

ユーザーが共有ドライブのメンバーである場合、その共有ドライブの変更ログにアクセスできます。変更ログには次の情報が含まれます。

  • 共有ドライブ自体の変更(メンバーの追加や削除など)
  • 共有ドライブ内のアイテムに対する直接的な変更。

権限と機能の同期

共有ドライブまたは共有ドライブ内のアイテムに対する権限の変更は、アイテム自体にのみ反映されます。そのアイテムの直接または間接の子アイテムはすべてこの変更を継承しますが、変更ログには各アイテムの個別のエントリは作成されません。変更を完全に再構築するには、親が変更された場合、クライアントは新しい機能を伝播するか、各アイテムを再取得する必要があります。