@yapaofficial

Как на python в гугл таблицах отследить создание новой строки?

надо както отследить создание новой строки в гугл таблицах
и сделать это на python
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Вы должны определиться, что значит "на python"?
  1. событие происходит и должно вызвать ваш сервер (веб-хук)
  2. ваша программа (без причины) должна отреагировать на отправку Формы


Веб-хук
  1. Поднимите сервер
  2. Определите эндпоинт для вызова
  3. Создайте простую функцию Google Apps Script, которая при отправке Формы будет дергать этот эндпоинт
  4. Установите в проекте скрипта триггер на отправку Формы для этой функции


Скрипт

function onFormSubmit(e){
  UrlFetchApp.fetch(endpoint, {
    payload: JSON.stringify(e)
  });
}


В данном случае вообще по барабану как вы со своим python будете парсить полученный объект. Данных там будет предостаточно.

Безпричинная программа

Очевидно, что работа без причины - признак ... неработающей программы.

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

Пример получения данных можно найти тут же https://qna.habr.com/q/885673, https://qna.habr.com/search?q=python+google+sheets
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Доступ к Google Spreadsheet "извне" возможен через Google API. При этом потребуется создание токена для Вашего приложения. Также при первом запуске приложени потребуется авторизация (через браузер) и подтверждение доступа к данным.
Лучшим вариантом реализации было бы создание на js скрипта в Google Spreadsheet, который срабатывал бы при появлении новой строки и пересылал бы что нужно и куда нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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