Листы Google - загрузите PDF-диск и отправьте электронное письмо - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужно написать скрипт, который позволит мне загружать PDF-файл в одну ячейку в листах Google и отправлять мне электронное письмо с PDF-файлом.Насколько я знаю, нет никакого способа загрузить файлы PDF или изображения на листы Google, поэтому я думаю, что единственный способ сделать это - загрузить его в папку на диске Google, а затем вставить ссылку на PDF всотовый, и пришлите мне по электронной почте ссылку.

Я искал довольно давно, но не смог найти решения для этого.

У Google есть свой учебник по отправке писем с листов.Я использовал этот код для него:

var SENT = 'sent';

function sendEmails2() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; 
  var numRows = 100; 
  var dataRange = sheet.getRange(startRow, 1, numRows, 7);
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[3]; 
    var message = row[4] + dataRange.getValue(); 
    var Sent = row[6]; 
    if (Sent != SENT) { 
      var subject = 'Invoice';
      MailApp.sendEmail(emailAddress, subject, message);
      sheet.getRange(startRow + i, 6).setValue(SENT);
      SpreadsheetApp.flush();
    }
  }
}

Это работает нормально, моя проблема заключается в загрузке файла на диск Google и вставке ссылки в ячейку.

Я предполагаю, что код будет начинаться примерно так:

function uploadFile() {
  var invoice = 'some local path to pdf file';
  var file = {
    title: 'Invoice',
    mimeType: 'application/pdf'
  };
  file = Drive.Files.insert(file, invoice);
  Logger.log('ID: %s, File size (bytes): %s', file.id, file.fileSize);
}

Однако я не уверен, в каком направлении идти.Кто-нибудь может дать мне несколько советов?

1 Ответ

0 голосов
/ 08 декабря 2018

Чтобы загрузить файл на Google Диск с помощью Google Apps Script, рассмотрите возможность использования Google Picker.Подробнее см. https://developers.google.com/apps-script/guides/dialogs#file-open_dialogs

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