Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 记录访问谷歌电子表格的用户_Google Apps Script_Google Sheets_Google Sheets Api_Google Workspace - Fatal编程技术网

Google apps script 记录访问谷歌电子表格的用户

Google apps script 记录访问谷歌电子表格的用户,google-apps-script,google-sheets,google-sheets-api,google-workspace,Google Apps Script,Google Sheets,Google Sheets Api,Google Workspace,我正在尝试跟踪从我的组织到我的电子表格的访问者。我一直在研究可以做到这一点的脚本,我终于有了一个可以跟踪编辑的脚本。但是,一些访问我的电子表格的人不会进行任何编辑。我仍然想检索他们的电子邮件地址(或者至少是句柄) 似乎这将是一个非常简单的脚本,但我没有找到任何东西。有人知道我们怎么做吗 提前谢谢 玩转,我找到了解决办法。以下是脚本: function onOpen(e) { try { var ui = SpreadsheetApp.getUi(); ui.create

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

似乎这将是一个非常简单的脚本,但我没有找到任何东西。有人知道我们怎么做吗


提前谢谢

玩转,我找到了解决办法。以下是脚本:

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);
  }
}

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

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

设置包含要在onopen上为触发器触发的脚本

  var currentUser = Session.getActiveUser().getEmail();
我发现一个有趣的问题是,只有当用户具有编辑权限时,gs脚本才会运行。因此,如果您提供了视图或注释,则仅access脚本将不会运行并记录此操作


编辑:抱歉,几小时前写下了这篇文章,但没有点击提交按钮。

可能是可安装的onOpen…不太确定。谢谢@Cooper的建议。这是正确的,但我也找到了解决方案,将其添加为答案