moonz
@moonz
web developer | seo | design

Google forms POST или api?

Всем привет.
Есть задача: каждый час (в начале часа), отключать доступ к форме.
Делать я это планирую не по расписанию а одновременно перед выполнением кода на python, и открывать доступ по окончанию работы скрипта.

Собственно вопрос, как именно это проще всего реализовать?
- Уже пробовал использовать плагины самой google forms, но там как правило можно настроить только одной действие и то жестко завязанное на дате и времени, в моём же случае будут ситуации отключения скрипта.
- API я так понял работает на javascript которого я пока увы не знаю (но если скинете примеры кода реализующего управление доступом, буду крайне благодарен)

Вот и остались у меня одни надежды на старые добрые POST запросы через например request. Но увы не нашел никакой документации по работе с формами таким способом. Сам пробовал изучать запросы браузера, понял только то что помимо печенья, есть ещё sid. Вот пример тела запроса на включение и выключение (разрешения на использование формы)

[{"commands":[[31358495,31358495,"[[false,\"\"]]"]],"sid":"7ec066ecd2aebde8","reqId":0}]
[{"commands":[[31358495,31358495,"[[true,\"\"]]"]],"sid":"7ec066ecd2aebde8","reqId":1}]

А вот после обновления страницы:
[{"commands":[[31358495,31358495,"[[false,\"\"]]"]],"sid":"2f52607833384d49","reqId":0}]


Про заголовок сам url я вообще молчу, там такая простыня лютая из хша, токкена, и хрен знает ещё чего))
В общем буду рад любым советам, как именно можно реализовать данное действие.
  • Вопрос задан
  • 564 просмотра
Пригласить эксперта
Ответы на вопрос 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Единственный на данный момент "правильный" способ управления Формами - использование Google Apps Script. Для реализации API используйте специальный триггер `doGet`.

У вас должно получиться что-то вроде этого

function doGet(e){
  /* если `e` содержит параметр на отключение Формы */
  form.setAcceptingResponses(false);
  /* если `e` содержит параметр на разрешение Формы принимать ответы */
  form.setAcceptingResponses(true);
}


Опубликуйте скрипт как веб приложение и дергайте из питона сколько лезет. Если сильно заморочиться, то можно опубликовать как API и контролировать доступ к скрипту на уровне авторизации пользователя.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы