【发布时间】:2023-02-18 00:54:35
【问题描述】:
我有一个用于 Google 表格的应用程序脚本,当我手动触发它时它可以工作,但我希望它是时间驱动的,每小时自动运行一次。我尝试使用 Apps Script UI 进行设置,它看起来像这样:
但我一直收到此错误消息:
异常:无法从此上下文调用 SpreadsheetApp.getUi()。 在未知功能
我也尝试将时间触发器写入脚本,但一直出错。这是当前脚本,当我手动触发它时它工作正常。
var ui = SpreadsheetApp.getUi();
function onOpen(e){
ui.createMenu("Gmail Manager").addItem("Get Emails by Label", "getGmailEmails").addToUi();
}
function getGmailEmails(){
var label = GmailApp.getUserLabelByName('EmailsToBeExported');
var threads = label.getThreads();
for(var i = threads.length - 1; i >=0; i--){
var messages = threads[i].getMessages();
for (var j = 0; j <messages.length; j++){
var message = messages[j];
extractDetails(message);
}
threads[i].removeLabel(label);
}
}
function extractDetails(message){
var dateTime = message.getDate();
var subjectText = message.getSubject();
var senderDetails = message.getFrom();
var bodyContents = message.getPlainBody();
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
activeSheet.appendRow([dateTime, senderDetails, subjectText, bodyContents]);
}`
【问题讨论】: