Нужен ли мне OAuth - данные контактной формы Google (все) в лист, а затем в электронную почту - PullRequest
0 голосов
/ 06 июля 2019

Я хочу использовать форму Google в качестве контактной формы на веб-сайте и отправить содержимое формы (а не просто уведомление) по указанному адресу.

Я создал форму Google, встроил ее на веб-сайт для использования в качестве контактной формы для запросов. Затем создал лист для извлечения данных из формы. После этого я создал Trigger для onFormSubmission, который запускает следующее:

/**
 * @OnlyCurrentDoc
 */
function onFormSubmission (e) {
  var values = e.namedValues;
  var htmlBody ='<ul>';
  for (Key in values) {
  var label = Key;
  var data = values[Key];
  htmlBody += '<li>' + label + ": " + data + '</li>';
  Logger.log(label + ": " + data);
};
  htmlBody += '</ul>';
  GmailApp.sendEmail('me@gmail.com', 'Web Form Enquiry', '', {htmlBody:htmlBody})
}

Выполнение этого вызывает диалог, утверждающий:

Требуется авторизация.

Для отправки электронной почты требуется ваше разрешение на доступ к вашим данным в Google. Просмотр разрешений или отмена

[«Отправить письмо» - мое «приложение» в G Suite]

При нажатии «Разрешения на просмотр» открывается всплывающее окно с просьбой выбрать учетную запись для продолжения. Щелчок по учетной записи (той же учетной записи, с которой я вошел и создал форму и т. Д.) Вызывает:

Это приложение не проверено. Это приложение еще не подтверждено Google. Продолжайте, только если вы знаете и доверяете разработчику.

Дополнительно или Вернуться к безопасности

Расширенный щелчок:

Google еще не просмотрел это приложение и не может подтвердить его подлинность. Неподтвержденные приложения могут представлять угрозу вашим личным данным.

Перейти к «Отправить письмо» (небезопасно)

Затем говорится:

«Отправить письмо» хочет получить доступ к вашей учетной записи Google

Это позволит «Отправить письмо» для чтения, создания, отправки и окончательного удаления всей вашей электронной почты из Gmail

Подключение к внешней службе (создание сетевого подключения к любой внешней службе (например, для чтения или записи данных)

Убедитесь, что вы доверяете Отправить электронную почту

Возможно, вы делитесь конфиденциальной информацией с этим сайтом или приложением. Узнайте, как Send emails будет обрабатывать ваши данные, ознакомившись с его условиями обслуживания и политикой конфиденциальности. Вы всегда можете увидеть или удалить доступ в своей учетной записи Google. Узнайте о рисках

Отмена или разрешение

Итак, для целей тестирования я нажал кнопку Разрешить. И все это работало прекрасно! И я сделал форму отзывчивой, а потом вспомнил, что мне пришлось вернуться и просмотреть разрешения. Через 4 часа я заблудился в кроличьей норе и пополз в обратном направлении. Итак, мои вопросы:

  1. Нужно ли реализовывать OAuth?
  2. Нужно ли Google проверять приложение?
  3. Если да, то 2, это займет недели? (Если да, вероятно, нужно отказаться от этого решения)
  4. Если я даю приложению «разрешительные разрешения» (как я это делал для тестирования), есть ли риск для безопасности?
  5. Если я дам приложению «разрешительные разрешения», собирается ли Google проверить его и принять решение прекратить его работу?
  6. Единственная причина, по которой я могу себе представить, что OAuth необходим, - это то, что данные берутся с листов, создается электронное письмо и данные передаются на него. Это из-за того, что данные передаются в «службу», отличную от собранной? Или потому, что другой сервис инструктирует создание электронной почты? (Или оба?)
  7. Если OAuth реализован, означает ли это, что пользователям будет предложено подтвердить? Очевидно, им не потребуется входить в систему, чтобы использовать контактную форму на веб-сайте.
  8. Можно ли ограничить разрешения, например, составлять только электронные письма, вместо того, чтобы иметь возможность удалять любые или все электронные письма в учетной записи (манифест?)
  9. Будет ли какая-то разница, если я пропущу электронную таблицу, то есть форму, по электронной почте? (Не вижу как, но спрашиваю на всякий случай.)

Я впервые пользуюсь этими услугами, поэтому, надеюсь, я все объяснил.

Любой совет с благодарностью получен!

1 Ответ

1 голос
/ 06 июля 2019

Я хочу использовать форму Google в качестве контактной формы на веб-сайте и отправить содержимое формы (а не просто уведомление) по указанному адресу.


  1. Нужно ли реализовывать OAuth?

То, что вы делаете, уже является потоком OAuth. Но это управляется скриптом приложений. Итак, №

  1. Нужно ли Google проверять приложение?

Не для вашего случая использования.

  1. Если да, то 2, это займет недели? (Если да, вероятно, нужно отказаться от этого решения)

Может быть, больше

  1. Если я даю приложению «разрешительные разрешения» (как я это делал для тестирования), есть ли риск для безопасности?

Любой, у кого есть доступ к вашему сценарию (подразумевается, любой, у кого есть доступ к редактированию вашей электронной таблицы), может изменить сценарий, чтобы отправлять электронную почту из вашей учетной записи на любой другой веб-сайт или читать или удалять вашу электронную почту. Поэтому избегайте предоставления прав на редактирование вашей таблицы или сценария.

  1. Если я дам приложению «разрешительные разрешения», собирается ли Google его просмотреть и принять решение о его остановке?

Нет, если вы единственный пользователь.

  1. Единственная причина, по которой я могу себе представить, что OAuth необходим, - это то, что данные берутся из листов, создается электронное письмо и данные передаются на него. Это из-за того, что данные передаются в «службу», отличную от собранной? Или потому, что другой сервис инструктирует создание электронной почты? (Или оба?)

Да.

  1. Если OAuth реализован, означает ли это, что пользователям будет предложено подтвердить? Очевидно, им не нужно будет входить в систему, чтобы использовать контактную форму на веб-сайте.

Вы являетесь владельцем электронной почты, листа и формы ответов. Только вам нужно разрешить приложению / скрипту действовать от вашего имени для выполнения определенных задач, таких как копирование / вставка.

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

Да.

  1. Будет ли какая-то разница, если я пропущу электронную таблицу, то есть форму, по электронной почте? (Не вижу как, но спрашиваю на всякий случай.)

Сокращение количества прыжков, необходимых для выполнения сценария, хорошо для безопасности. Но не имеет большого значения с точки зрения потока запросов / разрешений. Вы можете использовать триггер отправки формы в самой форме. Однако обратите внимание, что вам нужно изменить дизайн сценария в соответствии с объектом события, предоставленным при отправке формы в форму. Это отличается от объекта события, предоставленного электронной таблице onformsubmit.

...