我注意到新的 Docslist令牌和get*ForPaging()
现在可用的选项,但我仍在努力使用一种算法来处理任意大文件/文件夹树的“所有文件和文件夹”。
假设一个基于 Google Drive 的网络文件系统有n 个文件和文件夹。使用 Google Apps 脚本需要多次运行 6 分钟。每晚我需要在起始文件夹下的子文件夹树中处理超过 30 天的所有文件。我只需要处理每个文件一次(但我的函数是幂等的,所以我不介意我是否再次针对文件运行)。
我有我的递归算法工作,但我缺少的是一种拥有占位符的方法,这样我每次调用脚本时都不必从文件夹树的顶部开始。在六分钟内,我只浏览了几百个文件夹和几千个文件。
我的问题是我可以存储什么索引以及如何从下一次中断的地方开始?
我曾考虑过存储令牌或最后完成的文件夹路径“/mytop/sub4/subsub47/”,但这对我进行另一次调用有何帮助?如果我从那里开始,它会错误地从那里沿着树向下工作并且错过兄弟姐妹和祖先文件夹。
我已经考虑过“查找”方法并使用“之前:2012/10 ...”样式搜索,但没有办法将其限制为我的树中的文件(只有一个文件夹)。
我没有粘贴我的代码,因为它只是标准的递归 getFolders/getFiles,实际上与问题的核心无关。