使用Google Apps脚本获取Google云端硬盘活动

时间:2013-05-20 19:07:00

标签: google-apps-script google-drive-api

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

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

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

替代: - 在Google云端硬盘中,有一个名为Activity的字段,它会显示最近的活动。

是否可以使用API​​(Google文档列表,GoogleDrive,其他?)从谷歌驱动器获取活动?如果是,请告诉我详细信息。

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

非常感谢...

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

我意识到这是一个老问题,我不确定这有问题,但是现在对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