检测文件夹级别的更改

我正在测试Google云端硬盘的“变更”API并提出一些问题。

期望:我在'我的云端硬盘'下有文件夹的文件夹树结构。 我想调用Changes:list API来检测项目是否已在该特定文件夹ID中添加/编辑/删除。

API Explorer试用版:https://developers.google.com/drive/v2/reference/changes/list

问题:

  • 我没有看到任何选项将特定文件夹ID传递给此API以获取'largestChangeId'。 看起来这个api不支持parm'q'? 可能吗?

  • 作为替代解决方案,考虑为该文件夹存储'modifiedDate'属性并将其用于下一次比较。 但是,当该文件夹中的项目更新时,它不会更新。 它应该不是像在窗口中一样,文件夹修改日期在其内容得到更新时得到更新?

  • 想要了解是否可以检测文件夹级别的更改。

    谢谢

    [编辑]

    有效的解决方案:

  • 使用文件:列表列出所有。 选择字段:项目/ ID,项目/ modifiedDate,项目/父母/ ID,项目/标题

  • 开始文件夹ID(例如,使用标题搜索的'MyRootFolder')

  • 使用递归数组搜索遍历子树结构(链接父节点:id和文件Id),并获取max modifiedDate和总文件数。
  • 在应用程序存储中存储max modifiedDate和文件数量。
  • 对于后续调用,请将新的max modifiedDate与已存储的文件数进行比较,然后将其与已存储的文件数进行比较。 如果其中一个不匹配,则'MyRootFolder'中的内容已更新。

  • 目前不能直接使用API​​ - 抱歉!

    我认为当前最好的解决方案是将代码中的常规更改提要和筛选结果用于设置了正确父项的项目。


    drive.changes.list谷歌驱动器API现在允许用户传递“startChangeId”参数。

    我使用从前一个API结果中获得的“largestChangeId”的值,所以我可以增量地构建用户完成的更改,从而避免重建整个树。

    我很惊讶地看到他们为什么不支持“includeDeleted”参数和“startChangeId”参数。

    链接地址: http://www.djcxy.com/p/11389.html

    上一篇: Detect changes at folder level

    下一篇: XML to SQL conversion