javascript - 编写 Google 脚本来生成 Google Drive 的变更日志

标签 javascript google-apps-script google-apps

TL;DR:有没有办法从 Google 脚本中的 Google 云端硬盘文件访问更改日志,或者有没有办法使用 JavaScript 函数抓取此信息?我只想要最近编辑的姓名以及他们进行编辑的时间。您可以在 Google 云端硬盘上查看此内容,但我找不到访问它的方法。

大家好,我在一家小公司工作,该公司将所有数据存储在共享的 Google 云端硬盘文件夹中。某些文件夹包含有值(value)的文件,管理层也希望跟踪其中的更改。

我正在尝试实现一个 Google 脚本,该脚本会在一周结束时发送一封电子邮件,通知管理层对文档所做的所有更改。

我目前的代码将遍历文件夹,并带有一个条件语句,如果文件在 7 天内被编辑,则运行该条件语句。我知道如何触发代码运行,以及如何在收集必要的信息后创建电子邮件。

function myFunction() {

var files = DriveApp.getFiles();
while (files.hasNext()) {

var file = files.next();

if (new Date() - file.getLastUpdated() < 7 * 24 * 60 * 60 * 1000){   
//This is where I would log the necessary info 
  }
  }  
 }

最佳答案

您确实可以使用 Drive API 访问修订历史记录(请下次在提问之前先查看文档,特别是考虑到 Google 为您提供了非常详细且易于浏览的文档)。

您可以使用revisions = Drive.Revisions.list('fileID')获取所有修订版本。然后 revisions.items[i].lastModifyingUserNamerevisions.items[i].lastModifyingUser.displayName 将为您提供用户名和 revisions.items[i]。 ModifiedDate 将为您提供日期。看起来从 [0][n] 修改日期会增加,因此您可能需要从 revisions.items.lenght 下降到0 一旦超过 1 周大就停止(尽管我不能保证,因为我所做的只是快速浏览一下)

关于javascript - 编写 Google 脚本来生成 Google Drive 的变更日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40518040/

相关文章:

javascript - ExtJs 窗口不呈现

javascript - 如何获取输入的计算列的总和

javascript - Chrome 中的 FPS 上限为 60fps

javascript - 当包含参数时,函数调用不起作用

c# - 通过 Google Apps 帐户发送电子邮件在本地有效,但在我的网络服务器上无效

google-apps-script - 使用第二因素身份验证在 G Suite 帐户上执行 Google Apps 脚本

google-api - 使用 Google Apps Domains API 将域别名添加到辅助域

javascript - 检测 URL 中的特定哈希值

javascript - 在谷歌表格中使用超链接时进行记录

javascript - 在Google表格中按状态自动发送电子邮件