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的建议。这是正确的,但我也找到了解决方案,将其添加为答案