脚本和JS的新手,在这里!我毫不怀疑这些信息在某处可用,但是我在理解集体用户权限以触发删除方面遇到困难。我知道可安装触发器只能由创建它们的用户删除,但是Google Scripts page中的详细信息似乎推断出可编程触发器(用实际代码编写)可以被其他用户删除/删除。如果是这样,为什么当我运行脚本以从其他用户的计算机中删除所有触发器 时,却不会删除我从计算机中编程的触发器?其他Stack Overflow page即将解决此问题,但似乎只是在谈论可安装的触发器(如果我没记错的话)。
/**
* Creates a time-driven trigger.
*/
function createFirstTrigger() {
// Trigger every 6 hours.
ScriptApp.newTrigger('message')
.timeBased()
.everyMinutes(1)
.create();
}
function deletingAllTriggers() {
// Deletes all triggers in the current project.
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
ScriptApp.deleteTrigger(triggers[i]);
}
}
我还尝试了从其他人的计算机上删除触发器的原始代码,但是触发器仍然存在。
谢谢!
答案 0 :(得分:1)
用户不能删除彼此的触发器。
遇到问题的用户可以打开他们的triggers page
查看所有触发器,并删除要停止的所有触发器。
该用户还可以进入其帐户的安全性部分,并查看授予第三方访问权限。
https://myaccount.google.com/security-checkup
如果GSuite帐户的管理员需要访问用户文件,则管理员应该做什么取决于用户是否仍在组织中工作。如果用户不再在组织中,则管理员必须:
如果要停止某个特定日期/时间的触发器,则可以将日期硬编码到触发器代码中以自行删除。如果您不想对其进行硬编码,则可以将日期放入“属性服务-脚本属性”,以便任何文件所有者都可以手动更改日期。
运行触发器时,用户是否仍然有权访问文件或代码都无关紧要。无论文件所有者是否有权访问文件或他们的帐户,触发器都将运行,因此触发器可以自行删除。
如果您没有编写功能代码来删除已安装的运行它的触发器,那么您将需要有权访问用户帐户。如果该用户不可用,则有人需要登录其帐户。我不是在提倡人们提供密码以使他人可以登录他们的帐户,我只是在说要做什么。
GSuite帐户的管理员可以重置用户密码,然后使用新密码登录到该帐户。
如果需要删除触发器的帐户是免费/消费帐户,则无法访问该用户帐户。
如果创建触发器的代码在附加组件中,则可以编写附加代码来检查用户是否已触发并删除它。假设该附件已被授权创建和删除触发器。对于GSuite帐户中的插件,插件所有者可以编写代码并在公司内发布插件,而无需Google对该代码进行审查。
如果带有触发器的文件已放入共享驱动器,则其他用户将有权访问该文件。但是,如果您想使用加载项,则当前无法在共享驱动器的文件中安装加载项。