谷歌表脚本来发送多个blob,一个由谷歌表创建,另一个由谷歌驱动器文件夹中的文件创建

时间:2020-01-23 00:29:58

标签: google-apps-script google-sheets

嗨,我正在使用此脚本从google工作表中创建工作表并通过电子邮件发送它,效果很好,但我也想让该脚本将google驱动器中特定文件夹中的所有文件附加在一起,然后通过电子邮件发送我的google工作表以及一封电子邮件中的文件夹中的文件。

'''

function Test() {


  var source = SpreadsheetApp.getActiveSpreadsheet();
  var spreadsheet = spreadsheetId ? SpreadsheetApp.openById(spreadsheetId) 
  :SpreadsheetApp.getActiveSpreadsheet();
  var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId();
  var body = 'test'
  var email = Session.getActiveUser().getEmail();
  var token = ScriptApp.getOAuthToken();
  var ssID = spreadsheetId;
  var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export"+
                          "?format=pdf&"+
                          '&portrait=true' + //orientation, false for landscape
                          '&scale=4' +
                          '&top_margin=0.25' +              //All four margins must be set!
                          '&bottom_margin=0.25' +           //All four margins must be set!
                          '&left_margin=0.05' +             //All four margins must be set!
                          '&right_margin=0.05' +            //All four margins must be set!
                          '&horizontal_alignment=CENTER';   //LEFT/CENTER/RIGHT



  var response = UrlFetchApp.fetch(url, {
        headers: {
            'Authorization': 'Bearer ' + token
        }
    });


   var att = response.getBlob().setName( 'Test.PDF')
   var files = DriveApp.getFolderById('1GW6_ofWqztakjKJ9WWtxo7dhnPX0js').getFiles();
   var attachements = [];
   while (files.hasNext()) {
   var file = files.next();
   attachements.push(file.getAs(MimeType.PDF));

 }

  GmailApp.sendEmail(email, " Subject " , body, {
  attachments: attachements


   });



}

''' 当我使用“附件:附件”时,我将从文件夹中获取所有文件作为附件, 当我使用“附件:att”时,我将Google工作表作为附件,但似乎无法弄清楚 如何在同一封电子邮件中获取我的Google工作表以及该文件夹中的所有文件

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

  • 您要通过包含所有Blob来发送包含附件文件的电子邮件。

如果我的理解是正确的,那么下面的修改如何?

发件人:

var attachements = [];

收件人:

var attachements = [att];
  • 在这种情况下,首先将att放入attachements的数组中。并将文件夹中的所有文件添加到attachements

如果我误解了您的问题,而这不是您想要的方向,我深表歉意。

相关问题