Можно ли отправить форму google с триггером из значения электронной таблицы?

Можно ли отправить форму google с триггером из значения электронной таблицы? если да, то куда мне обратиться за помощью?

Я создал форму Google, которую можно просмотреть здесь http://www.leadersoftomorrowisn.org/Become_a_Member.html< /а>

Я хочу иметь возможность получить ответы на вопрос 5 "Что вас интересует?" и использовать их для отправки определенных форм Google.

Можно ли отправить форму google с триггером из значения электронной таблицы? если да, то куда мне обратиться за помощью с этим?

Лучший, Максвелл


person user2535663    schedule 30.06.2013    source источник


Ответы (1)


Предположим, что в вашей форме Стать участником есть электронная таблица, которая получает ответы, и что вы создадите скрипт с Формировать ответ, который будет просматривать ответы по мере их поступления. Мы назовем этот триггер onFormSubmit(). У вас есть возможность создать эту триггерную функцию, содержащуюся в сценарии формы или в сценарии электронной таблицы — любой из этих контейнеров может получать ответы формы. Этот выбор будет определять, какое событие будет получено onFormSubmit(). Подробнее см. в разделе Понятие о событиях.

Вы создадите (или уже имеете) набор дополнительных гугл-форм по кругу интересов. Каждая из этих форм имеет уникальный идентификатор, который вы будете использовать для получения URL-адреса формы, которую вы будете отправлять респондентам. Подробнее об API см. в разделе Class FormApp. Для каждой из ваших форм интересов вам нужно будет встроить уникальный идентификатор в сценарий — этот идентификатор отображается в 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-адрес для предварительно заполненной версии дополнительных опросов с уже заполненным именем респондента.

person Mogsdad    schedule 02.07.2013