2014-10-14 2 views
0

Я использую сценарий слияния почты, который я нашел здесь, но мне трудно найти подходящий класс для присоединения файла (строки 14 и 15).Скрипты приложений Gmail: вложения на основе URL-адреса Google Диска

function sendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 2; // First row of data to process 
    var numRows = 1; // Number of rows to process 
    // Fetch the range of cells A2:B2 
    var dataRange = sheet.getRange(startRow, 1, numRows, 1) 
    // Fetch values for each row in the Range. 
    var data = dataRange.getValues(); 
    for (i in data) { 
    var row = data[i]; 
    var emailAddress = row[3]; // First column 
    var message = row[10];  // Second column 
    var subject = row[6]; 
    var attachment = Attachment.setUrl(row[11]); 
    MailApp.sendEmail(emailAddress, subject, message, {attachments: attachment}); 
    } 
} 

Я пробовал несколько вариантов для функции вложения, но каждый раз я получал ошибку. Строки соответствуют столбцам в Листе Google, а строка [11] - это URL-адрес изображения на диске Google.

ответ

0

здесь рабочий пример вашего скрипта: вы были 2 ошибки:

  1. определения диапазона имело только один столбец
  2. аргумент вложения должен быть массивом сгустков

function sendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 2; // First row of data to process 
    var numRows = 1; // Number of rows to process 
    // Fetch the range of cells A2:B12 since you use row[11], the data must at least be 12 cells wide 
    var dataRange = sheet.getRange(startRow, 1, numRows, 12); 
    // Fetch values for each row in the Range. 
    var data = dataRange.getValues(); 
    for (i in data) { 
    var row = data[i]; 
    var emailAddress = row[3]; // Fourth column 
    var message = row[10];  // elevenths column 
    var subject = row[6]; 
    var attachment = [UrlFetchApp.fetch(row[11]).getBlob()]; 
    MailApp.sendEmail(emailAddress, subject, message, {attachments: attachment}); 
    } 
} 

Обратите внимание, что URL-адрес должен быть действительным и что файл должен быть общедоступным: например:

https://drive.google.com/uc?export=view&id=0B3qSFd3iikE3TUFFLTc5MDE0MzkwLWQxYWItNDkwNy05ZjVkLWIyZDhiZDM4MjdmMg 
Смежные вопросы