繁体   English   中英

Google 表格脚本时间触发器

[英]Google Sheets Script Time Trigger

Background: I created a google script to go through my email and display the email information for every email under a certain label(JobApp). 当我通过谷歌表格中的用户界面单击按钮时,脚本运行良好。

问题:我试图自动化必须在 UI 中单击 label 的过程,所以我在 function 上放置了一个时间触发器。 在脚本日志中,它正在遍历电子邮件,因为它显示我的日志显示它正在这样做。 但是,时间触发器不会对电子表格做任何事情。 我怎么能解决这个问题?

代码:

function onOpen(e) {
  var ui = SpreadsheetApp.getUi();
  
  ui.createMenu("HubSpot Applicants").addItem("Gather Info", "infoFunct").addToUi();
  ui.createAddonMenu("HubSpot Applicants").addItem("Remove Duplicates", "removeDuplicates").addToUi();
}
function infoFunct() {
  
  var label = GmailApp.getUserLabelByName("JobApp");
  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)
      console.log(`Extracting information from email: Applicant${i}`);
}
  }
}
function extractDetails(message){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Rough Data');
  var dateTime = message.getDate();
  var bodyContents = message.getPlainBody();
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([dateTime, bodyContents])
  console.log('Printing information');

}
 

Background: I created a google script to go through my email and display the email information for every email under a certain label(JobApp). 当我通过谷歌表格中的用户界面单击按钮时,脚本运行良好。

问题:我试图自动化必须在 UI 中单击 label 的过程,所以我在 function 上放置了一个时间触发器。 在脚本日志中,它正在遍历电子邮件,因为它显示我的日志显示它正在这样做。 但是,时间触发器不会对电子表格做任何事情。 我怎么能解决这个问题?

代码:

function onOpen(e) {
  var ui = SpreadsheetApp.getUi();
  
  ui.createMenu("HubSpot Applicants").addItem("Gather Info", "infoFunct").addToUi();
  ui.createAddonMenu("HubSpot Applicants").addItem("Remove Duplicates", "removeDuplicates").addToUi();
}
function infoFunct() {
  
  var label = GmailApp.getUserLabelByName("JobApp");
  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)
      console.log(`Extracting information from email: Applicant${i}`);
}
  }
}
function extractDetails(message){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Rough Data');
  var dateTime = message.getDate();
  var bodyContents = message.getPlainBody();
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.appendRow([dateTime, bodyContents])
  console.log('Printing information');

}
 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM