Google Apps脚本保存到云端硬盘

时间:2013-11-05 23:53:34

标签: google-apps-script google-sheets

我绝不是程序员,但我能够将脚本放在一起,查找带附件的电子邮件,查找,将附件保存到Google云端硬盘并将主题行记录到电子表格中。以下是这样做的一部分:

function sendToGDrive() {    

var sheet   = SpreadsheetApp.getActiveSheet();
var gLabel  = sheet.getRange("G1:G1").getValues();
var gFolder = sheet.getRange("H1:H1").getValues();
var row = SpreadsheetApp.getActiveSpreadsheet().getLastRow() + 1;

var threads = GmailApp.search("label:" + gLabel, 0, 5);  
var folder  = DocsList.getFolder(gFolder);

for (var x=0; x<threads.length; x++) {

var messages = threads[x].getMessages();

for (var y=0; y<messages.length; y++) {

var att = messages[y].getAttachments();

 for (var z=0; z<att.length; z++) {
    try {
      var file = folder.createFile(att[z]);
      sheet.getRange(row,1).setValue(Utilities.formatDate(messages[y].getDate(), "PST",        "yyyy-MM-dd"));
      sheet.getRange(row,2).setValue(messages[y].getSubject());                                      
      var id = "https://mail.google.com/mail/?shva=1#all/" + messages[y].getId();
      sheet.getRange(row,3).setFormula('=hyperlink("' + id + '", "View email")');
      var url = file.getUrl();
      sheet.getRange(row,4).setFormula('=hyperlink("' + url + '", "View image")');
      sheet.getRange(row,5).setValue(file.getName());
      row++;
      Utilities.sleep(1000);
    }

我无法弄清楚的是如何扩展此脚本以查找没有附件的电子邮件并执行上述所有操作。我认为它需要if /或声明,我只是无法弄清楚如何使其工作。请帮忙。

1 个答案:

答案 0 :(得分:1)

后:

var att = messages[y].getAttachments();

你想要像

这样的东西
if(att.length==0) {
   // no attachments code
} else {
   // attachments code
   for (var z=0; z<att.length; z++) {
   ......

}

Eddy - 构建Web应用程序的电子表格公式