繁体   English   中英

如何查找Google云端硬盘文件夹中的内容是否已更改

[英]How can I find if the contents in a Google Drive folder have changed

我目前正在开发一款同步用户Google云端硬盘中某个特定文件夹的应用。 我需要找到该特定文件夹中的任何文件/文件夹何时更改。 实际的同步过程很简单,但我不想每隔几秒钟进行一次完全同步。 我正在谴责其中一种方法:

1)监视更改提要并查找任何文件更改
此方法很简单,但如果驱动器中的任何文件发生更改,则会导致同步。

2)经常请求整个驱动器中的所有文件,例如。 service.files()。list()。execute()并查找特定树中的更改。 这是一种蛮力的方法。 如果用户的驱动器中有1000个文件,则速度太慢。

3)从特定文件夹开始,然后向下移动文件夹树以查找更改。 如果特定树中只有少数目录,则此方法会很快,但仍会导致大量API请求。

有没有更好的方法来查找特定文件夹及其内容是否已更改? 我是否可以对方法1,2或3进行任何优化。

正如您所说的那样,您需要保留(或计算出)已更改文件的文件层次结构,以了解文件是否在文件夹树中发生了更改。

无法直接从更改提要中了解文件夹中的深层嵌套文件是否已更改。 抱歉。

有一些技巧可能会有所帮助。

首先,如果您的应用程序使用的是drive.file范围,那么它只会看到自己的文件。 根据您的具体情况,这可能等同于您的文件夹层次结构。

其次,文件可以有多个父项。 所以在folder-top / folder-1 / folder-1a / folder-1ai中创建文件时。 您可以将folder-1ai folder-top声明为父项。 然后你只需要检查文件夹顶部。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM