【问题标题】:Log users visiting a Google Spreadsheet记录访问 Google 电子表格的用户
【发布时间】:2020-03-05 13:59:29
【问题描述】:

我正在尝试跟踪从我的组织到我的电子表格的访问者。我一直在研究可以做到这一点的脚本,我终于找到了一个可以跟踪编辑的脚本。但是,一些访问我的电子表格的人不会进行任何编辑。而且我仍然想检索他们的电子邮件地址(或至少处理)。

看起来这将是一个非常简单的脚本,但我还没有找到任何东西。有谁知道我们如何做到这一点?

提前致谢!

【问题讨论】:

  • 也许可以安装 onOpen...不太确定。
  • 感谢@Cooper 的建议。没错,但我也找到了解决方案,将其添加为答案

标签: google-apps-script google-sheets google-sheets-api google-workspace


【解决方案1】:

玩了一圈,我找到了解决方案。这是脚本:

function onOpen(e)
{ 
  try
  {
    var ui = SpreadsheetApp.getUi();
    ui.createMenu('Action')
    .addItem('Add Data', 'addData')
    .addToUi()  

    var sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Login Details");
    sheet.appendRow([Session.getActiveUser().getEmail(),new Date()]);

  }
  catch(e)
  {
    Logger.log(e);
  }
}

【讨论】:

    【解决方案2】:

    我有一些类似于调试脚本的东西,因为有些人能够破坏东西但不记得如何。

    您可以将其绑定到 mailapp 以发送通知,stackdriver 仅用于在事后查看日志或仅将其附加到不同的电子表格。

    设置包含脚本以在 onopen 上触发触发器。

      var currentUser = Session.getActiveUser().getEmail();
    

    我发现一个有趣的问题是 gs 脚本只有在用户具有编辑权限时才会运行。因此,如果您仅提供查看或评论访问脚本将不会运行并记录此内容。

    编辑:抱歉,这是几个小时前写出来的,错过了提交按钮。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 2016-06-10
      • 2017-01-23
      • 1970-01-01
      相关资源
      最近更新 更多