Можно ли отправить форму Google с триггером из значения электронной таблицы?
Можно ли отправить форму Google с триггером из значения электронной таблицы? если да, то куда мне обратиться за помощью?
Я создал форму Google, которую можно просмотреть здесь. http://www.leadersoftomorrowisn.org/Become_a_Member.html.
Я хочу быть в состоянии получить ответы на вопрос 5 "Что вас интересует?" и использовать их для отправки конкретных форм Google.
Можно ли отправить форму Google с триггером из значения электронной таблицы? если да, то куда мне обратиться за помощью?
Бест, Максвелл
1 ответ
Предположим, что ваша форма " Стать участником" имеет электронную таблицу, в которую поступают ответы, и что вы создадите сценарий с триггером ответа формы, который будет проверять ответы по мере их поступления. Мы назовем этот триггер onFormSubmit()
, У вас есть возможность создать эту функцию триггера, содержащуюся в скрипте формы или в скрипте электронной таблицы - любой из этих контейнеров может получать ответы формы. Этот выбор будет определять, какое событие получит onFormSubmit()
- см. Понимание событий для деталей.
Вы создадите (или уже имеете) набор дополнительных форм Google для диапазона интересов. Каждая из этих форм имеет уникальный идентификатор, и именно это вы будете использовать для получения URL-адреса для формы, которую вы будете отправлять респондентам. См. Class FormApp для деталей API. Для каждой формы интереса вам нужно будет вставить уникальный идентификатор в скрипт - этот идентификатор появляется в URL, когда вы находитесь в редакторе форм или в интерактивной форме.
В onFormSubmit
Вы можете использовать событие отправки формы, чтобы прочитать копию текущего ответа. Ваш вопрос 5 является checkBox
вопрос, поэтому все проверенные ответы будут доставлены в виде строки, разделенной запятыми. (Будьте осторожны, чтобы в ваших вопросах не было запятых!) В приведенном ниже примере мы split
ответьте на вопрос 5, чтобы получить массив интересов, а затем отправьте по электронной почте ссылки на дополнительные опросы, основанные на них. Это довольно грубо, и очень тесно связано с вашей формой, но это должно сработать.
function onFormSubmit(event) {
// Get the responses into convenient variables.
var firstName = event.values[1]; // Question 1
var lastName = event.values[2]; // Question 2
var email = event.values[3]; // Question 3
var allInterests = event.values[5] // Question 5, a comma-separated list,
.split(','); // which we turn into an array
// Loop over all expressed interests, sending surveys
for (var interest in allInterests) {
sendInterestSurvey( firstName, lastName, email, allInterests[interest] );
}
}
/**
* Determine the id for a form that matches the given survey (interest),
* and send an email to the respondent.
*/
function sendInterestSurvey( firstName, lastName, email, survey ) {
var surveyFormId = null; // Will fill with appropriate survey ID
// Set serveyFormId according to current value of 'survey'.
switch (survey) {
case "Becoming an LOT Member of the USD Chapter":
surveyFormId = '1234567890abcdefghijklmnopqrstuvwxyz'; // Replace with real form ID
break;
case "Presenting a business idea at one of USD's Business Opportunity Meetings (Spring 2014)":
surveyFormId = '1234567890abcdefghijklmnopqrstuvwxyz'; // Replace with real form ID
break;
// and so on...
default:
// Error handling, or for "other"
break;
}
// Send an email for any interest with a survey form
if (surveyFormId != null) {
var existingForm = FormApp.openById(surveyFormId);
var surveyURL = existingForm.getPublishedUrl();
var surveyTitle = existingForm.getTitle();
// Build Email Body
var body = 'Dear '+firstName+' '+lastName+',<br><br>'; // Dear John Doe,
body += 'Thanks for completing our Member Contact Information.<br><br>';
body += 'You expressed an interest in: ' + survey;
body += ', and we would like to get more details about your interest.<br><br>';
body += 'Please follow <a href="' +surveyURL+ '">this link</a> to complete the survey.<br><br>';
body += 'Thank you!';
MailApp.sendEmail({
to: email,
subject: surveyTitle,
htmlBody: body
});
}
}
Вы можете пойти дальше, например, сгенерировать URL-адрес для предварительно заполненной версии дополнительных опросов с уже заполненным именем респондента.