8

Google Drive 'Changes' API をテストしていますが、いくつか質問があります。

予想: 「マイ ドライブ」の下にファイルが含まれるフォルダ ツリー構造があります。特定のフォルダー ID 内でアイテムが追加/編集/削除されたかどうかを検出するために、Changes:list API を呼び出したいと思います。

試した API Explorer: https://developers.google.com/drive/v2/reference/changes/list

質問:

  1. 「largestChangeId」を取得するために、特定のフォルダー ID をこの API に渡すオプションはありません。この API はパラメーター「q」をサポートしていないように見えますか? 出来ますか?

  2. 別の解決策として、そのフォルダーの「modifiedDate」属性を保存し、次回の比較に使用することを考えました。ただし、そのフォルダー内でアイテムが更新されても更新されません。コンテンツが更新されたときにフォルダーの変更日が更新されるウィンドウのように機能するべきではありませんか?

フォルダー レベルで変更を検出できるかどうかを知りたいです。

ありがとう

[編集]

うまくいった解決策:

  1. Files:list を使用して、すべてを一覧表示します。選択したフィールド: items/id,items/modifiedDate,items/parents/id,items/title

  2. 開始フォルダー ID を取得します (例: タイトル検索を使用した「MyRootFolder」の場合)

  3. 再帰配列検索を使用してサブツリー構造 (parent:id とファイル ID をリンク) をトラバースし、最大 modifiedDate と合計ファイル数を取得します。
  4. 最大 modifiedDate とファイル数をアプリ ストレージに保存します。
  5. 後続の呼び出しでは、新しい max modifiedDate を保存されたものと比較し、合計ファイル数を保存されたものと比較します。どちらかが一致しない場合は、「MyRootFolder」内のコンテンツが更新されています。
4

2 に答える 2

2

これは現在、API で直接行うことはできません。申し訳ありません!

現在の最善の解決策は、通常の変更フィードを使用し、コード内の結果を正しい親セットを持つものにフィルターすることだと思います。

于 2012-10-29T20:56:01.347 に答える