2

问题:- 列出过去 24 小时内修改过的谷歌驱动器中的所有文件。

尝试了以下方法:- * 使用 DocsList API 获取文件夹下的文件,根据上次修改时间,能够识别被修改的文件。

面临的问题: - 我的驱动器中有许多文件夹/子文件夹,当我递归处理所有文件夹时,脚本需要更长的时间并超时。

替代方案:- 在 Google Drive 中,有一个名为 Activity 的字段,它将显示最近的活动。

这是否可以使用 API(DocsList、GoogleDrive、其他)从谷歌驱动器获取活动?如果是,请告诉我详细信息。

另外,如果有其他解决方案,请告诉我。

非常感谢...

4

2 回答 2

2

我意识到这是一个老问题,当被问到时我什至不确定这是否可能,但现在使用 DriveApp 服务相当简单。

function listRecentFiles() {
  var ageInHours = 24;
  var targetDate = new Date;
  targetDate.setHours( targetDate.getHours() - ageInHours );
  var q = 'modifiedDate > "' + targetDate.toISOString() + '"';

  var files = DriveApp.searchFiles(q);

  while( files.hasNext() ) {
    var file = files.next();
    Logger.log(file.getName());
  }
}

参考:

https://developers.google.com/apps-script/reference/drive/drive-app#searchFiles(String) https://developers.google.com/drive/web/search-parameters

于 2014-07-18T07:02:58.617 回答
2

查看更改提要:https ://developers.google.com/drive/manage-changes

这是 Drive SDK 的一部分,它允许您请求自特定更改 id 以来发生的所有更改。

于 2013-05-20T21:05:36.760 回答