Скрипт листа Google для отправки по электронной почте нескольких блобов, один из которых создается на листе Google, а другой - файлами в папке Google Drive - PullRequest
0 голосов
/ 23 января 2020

Привет! Я использую этот сценарий для создания и отправки по электронной почте листа из листа Google, который отлично работает, но я также хотел бы, чтобы скрипт прикрепил все файлы, которые находятся в указанной папке c, с диска 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


   });



}

' '', когда я использую "attachments: attachchements" Я получаю все файлы из папки в качестве вложения и когда я использую "attachments: att", я получаю свой лист Google в качестве вложения, но я не могу понять, как получить свой лист Google, а также все файлы из папки на одном и том же электронном письме

Спасибо за Вы помогаете

1 Ответ

0 голосов
/ 23 января 2020
  • Вы хотите отправить электронное письмо с вложенными файлами, включив все BLOB-объекты.

Если мое понимание верно, как насчет следующей модификации?

От:

var attachements = [];

Кому:

var attachements = [att];
  • В этом случае сначала att помещается в массив attachements. И все файлы в этой папке добавляются в attachements.

Если я неправильно понял ваш вопрос, и это не то направление, в котором вы хотите, прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...