我正在使用Google Enterprise(如果有所不同)。
我制作了一个包含非常短的脚本的电子表格,只有两个函数,一个计算我称为unread_emails()
的未读gmail邮件的数量,以及一个将当前时间复制到的onOpen()
脚本一个电子表格单元格(所以我知道它正在运行),然后调用第一个函数并将其结果复制到电子表格。
当我第一次从脚本编辑器运行它时,它询问了我的权限,我点击了没关系。从那时起,如果我从脚本编辑器启动脚本,脚本总是运行得很好,并且不再需要权限。 BUT - 如果我只是打开电子表格,onOpen()
函数将在getInboxUnreadCount()
的权限错误中途停止 - 即使我已经给予许可,它显然在我的帐户上运行(不,它不会要求我只是重新确认我的权限)。如果我重新打开脚本编辑器,一切运行正常。
如何让Google表格识别此处已分配的权限? 我们将非常感谢任何见解。
这是简单的脚本。第3行的GmailApp
是明显的麻烦来源。
function unread_mails() {
Logger.log("starting unanswered func");
return GmailApp.getInboxUnreadCount();
}
function onOpen() {
Logger.log("starting onOpen func");
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheets()[0];
var d = new Date();
sheet.getRange("B4").setValue(0); // clear
sheet.getRange('B2').setValue(d.toLocaleTimeString());
sheet.getRange("B4").setValue(unread_mails());
}
答案 0 :(得分:1)
来自simple trigger restrictions:
他们无法访问需要授权的服务。例如,a 简单的触发器无法发送电子邮件,因为Gmail服务需要 授权
它可以在编辑器中运行,手动运行onOpen()的b / c与自动触发简单触发器相同