【问题标题】:Writing a Google Script to produce a changelog for Google Drive编写 Google 脚本以生成 Google Drive 的变更日志
【发布时间】:2016-11-10 15:03:09
【问题描述】:

TL;DR:有没有办法从 Google Scripts 中的 Google Drive File 访问更改日志,或者有没有办法使用 JavaScript 函数来抓取这些信息?我只想要最新编辑的姓名,以及他们执行编辑的时间。您可以在 Google Drive 上查看此内容,但我找不到访问它的方法。

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

我正在尝试实现一个 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 
  }
  }  
 }

【问题讨论】:

    标签: javascript google-apps-script google-apps


    【解决方案1】:

    您确实可以使用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周大时停止(尽管我不能保证我所做的只是快看)

    【讨论】:

    • 非常感谢!我绝对一无所知,但我已经阅读了文档,但不知道包含的高级服务是对谷歌应用程序 API 的更深入了解,而是讨论了更模糊的谷歌应用程序,如群组和 G+。我只看主要文档,抱歉浪费您的时间。
    • 别担心,我不认为浪费了时间,但是很多用户不参考文档,最好的学习方法是自己编写代码文档。我的观点是,你自己发现的东西比你刚刚得到的答案更容易坚持。在这种情况下,我只是在 Google 文档中搜索了 revision 这个词,这是返回的第一页 :)
    猜你喜欢
    • 2014-02-06
    • 2013-03-05
    • 2014-03-05
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 2020-03-10
    相关资源
    最近更新 更多