google-apps-script - 在我的 G Suite 域中的 Google 表格中记录工作表用户名时禁用脚本授权
问题描述
我正在 Google 表格中创建一个每日任务列表,供我的员工使用。我是域管理员。
当行更改时,每个清单项目都会在 Z 列中记录时间和用户名(项目被选中)。这会跟踪日常任务何时完成,以及由谁完成。
例如“检查语音邮件”“检查传真”
-- 当用户勾选其中一项时,我希望他们的电子邮件地址或域用户名和时间戳显示在 Z 列中。
问题:每天都会有一份此表的新副本。必须每天为每个用户授权脚本(新工作表),脚本才能正常工作。
复杂因素: 我需要保持我的域 HIPAA 兼容,因此我对为我的域启用 App Marketplace 持怀疑态度。
需要的解决方案: 作为域管理员,我如何使脚本授权在我的域上使用?获得授权后,如何将其链接到主工作表和工作表的每日副本 允许我的域上的此脚本在未经个人授权的情况下捕获域用户名。
谢谢!
function onEdit(event)
{
var now2 = Utilities.formatDate(new Date(), "EST", "E MMM dd, yyyy @ hh:mm a");
SpreadsheetApp.getActiveSheet().getRange("Z1").setValue("Sheet Last Modified: " +now2);
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() != 6 ) { //checks the column
var row = r.getRow();
var time2 = new Date();
var user = Session.getEffectiveUser();
time = Utilities.formatDate(new Date(), "EST", "E MMM dd, yyyy @ hh:mm a");
time2 = Utilities.formatDate(new Date(), "EST", "E MMM dd, yyyy");
SpreadsheetApp.getActiveSheet().getRange('Z' + row.toString()).setValue(time+" by: "+user);
SpreadsheetApp.getActiveSheet().getRange("Z2").setValue("Row Last Modified");
};
};
解决方案
我想出了如何不在我的域内请求授权。我必须作为可安装触发器运行。
在 Google Script.. 转到编辑菜单,然后点击“当前项目的触发器”
然后,安装一个 on Edit Trigger...
这不再要求授权!
推荐阅读
- python - 阻止软件包安装到 conda 基础环境
- spring - Spring Cloud Contract org.junit.ComparisonFailure:预期:<[200]> 但在运行测试时是:<[401]>
- python - 我的完美数字代码
- r - 在ggplots中添加两条线性回归线和两个y轴
- java - java - 如何使用Java单独对二维数组的行和列求和?
- reactjs - 查询字符串管理状态的替代方案
- python-3.x - 如何将基于自定义图像的数据集加载到 Pytorch 中以与 CNN 一起使用?
- php - 如何使用php dom从html类中获取所有b标签值
- django - 通过 Django Admin 上传文件时在 NGINX 上找不到 404
- cpu - 普通家用电脑可以多cpu同时访问内存吗?