Как получить доступ или позвонить «Отправить эту форму другим»? - PullRequest
4 голосов
/ 09 сентября 2011

У меня есть форма, прикрепленная к электронной таблице Служб Google.Это форма, позволяющая моим коллегам представлять пункты повестки дня на нашей еженедельной обзорной встрече.Я пишу сценарий для автоматической отправки напоминания соответствующим людям.

Чтобы сделать его менее раздражающим и утомительным для них, я бы хотел вставить форму в электронное письмо.Документы Google предоставляют способ отправки формы вручную: электронная таблица> Форма> Отправить форму.Тем не менее, я не могу найти в документации по Google Apps Scripts какой-либо способ, позволяющий мне запускать эту функцию, например

  • Такой метод, как sendFormInEmail
  • Доступ к удобной для электронной почты форме HTML, который я мог бы присвоить аргументу htmlBody метод sendEmail .
  • Запустить произвольный пункт меню в Google Apps
  • Что-то еще?

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

Есть предложения?

Ответы [ 2 ]

5 голосов
/ 15 мая 2014

Йорис, ты прав.Вы можете использовать метод fetch () для отправки html формы в почтовый ящик пользователя:

var form = FormApp.create('New Form');
....
var url = form.getPublishedUrl();
var response = UrlFetchApp.fetch(url);
var htmlBody = HtmlService.createHtmlOutput(response).getContent();
    MailApp.sendEmail({
    to: email,
    subject: subject,
    htmlBody: htmlBody,
  });
...
2 голосов
/ 02 октября 2011

У меня точно такие же требования, как и у вас, но, к сожалению, похоже, что API-вызова для этого не существует.

То, что я думаю, может сработать (хотя я еще не попробовал это на самом деле)использовать метод Spreadsheet.getFormUrl для получения URL-адреса формы, затем использовать UrlFetchAp.fetch для получения HTML-кода для формы электронной таблицы, а затем использовать этот HTML-код в качестве тела электронной почты.

Как я уже сказал,Я не знаю, сработает ли это (хотя на бумаге это должно быть!), Но мне было бы очень интересно узнать, сработало ли это!

...