Отправьте несколько вложений с помощью DriveApp.getFileById в скрипте Google Apps - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь запустить скрипт, который берет несколько идентификаторов файлов из Google Sheet и прикрепляет их к электронной почте.Я не могу получить несколько файлов для подключения с помощью DriveApp.getFileById.

Скрипт запускается и запускает электронное письмо, но без вложений.

function createAndSendDocument(values) {

  // Get the email address of the active user
  var email = Session.getActiveUser().getEmail();

  // Get the name of the document to use as an email subject line.
  var subject = 'New Paperwork';

    //Let's add the attachments variables
  var attachmentstring = values["Which documents do you want to attach?"];
  var array = attachmentstring.toString().split(",");
  var blobs = [];
  var x = 0;
  for (var i = 0; i < array.length; i++) {
   
    //check if even
    if (i % 2 === 0) {
        blobs[x] = array[i];
        x++;
    }
    
  }
  
  // Append a new string to the "url" variable to use as an email body.
  var body = 'your doc: ' + blobs[0] + blobs[1] + array[0] + array[1] + "length:" + array.length;

  // Send yourself an email with a link to the document.
  GmailApp.sendEmail(email, subject, body, {attachments: blobs});
}

Я отредактировал исходное сообщение, добавив фрагмент кода.Вот выходные данные больших двоичных объектов и массива.

undefinedundefinedW-4 2019.pdf1YjQqFNze8VX0L6wZ9O3Y9AJNznR8jfxqlength: 4

1 Ответ

0 голосов
/ 28 января 2019

Этот код работал:

function createAndSendDocument(values) {

// Get the email address of the active user
  var email = Session.getActiveUser().getEmail();

  // email subject line.
  var subject = 'New Paperwork';

    // add the attachments variables
  var attachmentstring = values["Which documents do you want to attach?"];
  var array = attachmentstring.toString().split(",");
  var blobs = [];
  var x = 0;
  for (var i = 0; i < array.length; i++) {
   
    //check if even
    if (i % 2 === 0) {

    }
    else 
    {
        blobs[x] = DriveApp.getFileById(array[i]).getBlob();
        x++;
    }
    
  }
  
  // an email body.
  var body = 'Hello';

  // Send an email with attachments
  GmailApp.sendEmail(email, subject, body, {attachments: blobs});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...