Как стать автором
Обновить

Комментарии 16

Спасибо огромное за статью! Извините, если вопрос тупой, но я никогда не имел дела с Apps Script: а можно ли сделать что-то из таблицы вовне? Простейший пример: есть чужая таблица, в которую выкладывают ссылки на файлы (не спрашивайте, зачем так, я бы тоже так не делал, но это другая компания). Хотелось бы получать что-то (email, slack, что-то такое), когда в этой таблице происходят изменения. Понятно, что добавлять скрипты к их таблице мы не можем. Но, может, есть возможность как-то скопировать эту таблицу к себе, добавить синхронизующий скрипт и, главное, триггерить уведомления, если что-то поменялось?

Естественно, я не прошу решать задачу за меня :), мне просто интересно, возможно такое или это вообще не задача для Apps Script. Спасибо!

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

Если вам дали ссылку на эту таблицу, то можно конечно. Можно даже в тележку отправлять, причем бот будет жить здесь же, в AppsScript.

Можно отправлять не ссылку, а сам файл. Или сделать то, что нужно сделать с файлом, а отправить только уведомление: "Все сделано")

Понятно, что добавлять скрипты к их таблице мы не можем.

В принципе - можем, были бы права на это дадены.

И чтобы триггерить → не обязательно добавлять код в саму табличку. Он может жить и отдельно, и в другой табличке, и в другом документе.

триггерить уведомления, если что-то поменялось

Можно и по расписанию каждые условно 15 минут проверять изменения.

Зависит от того, какие данные вы собираетесь трекать. Самый простой и эффективный способ -- это делать снимок Таблицы (копия, перенос данных или кеш), произвести сравнение и отправить уведомление. Из встроенных классов есть Gmail, прикрутить Telegram/Slack -- одна строчка. Все это можно поставить в расписание и запускать хоть каждую минуту.

Добрый день! Да, это возможно. Спасибо большое пользователю Robastik, он довольно подробно расписал функционал. В идеале можно было бы повесить в той табличке базовую функцию onEdit(), которая бы трекала в реальном времени изменения, и просто оповещала бы табличку о том, что пора брать данные. Но если так нельзя, то можно просто обращаться в табличку и брать данные, если данные различаются, то добавляем к себе, а если нет, то пропускаем. После завершения проверки можно себе на почту отправить уведомление, что появились изменения и какие)

Вы можете по триггеру, например раз в день, проверять был ли файл модифицирован с момента последней проверки и забирать новые данные

У гугл документов же есть api, и там можно просматривать документы к которым есть доступ. А дальше на любом ЯП можно переодически чекать таблицу на дату изменения итд.

В текущих реалиях гугл таблицы и прочая инфраструктура последнее на что стоит подсаживаться

Это точно. Я уже год вроде как назад лишился своего ПДД, это бесплатно говорили они в 2011. Это навсегда говорили они. Заплатите 10 баксов в месяц за аккаунт или удалим все в 2022 сказали они. Так что нафиг, спасибо, поели.

К сожалению да, сейчас ни в чем нельзя быть уверенным на 100%, мб только опенсорсные решения. Но мы на гугл экосистеме уже давно сидим, а переходить на что-то другое, что было бы таким же эффективным пока не представляется возможным. Переход всей компании на другую систему представляет ряд трудностей. Поэтому будем пользоваться по максимуму сколько получится, но план перехода тоже имеется, правда оч хочется чтобы он так и остался лежать в черном ящике)

он бесплатный

Все же бесплатный лимит - это не бесплатно. Хотя лимит реально внушительный.

Стоило бы добавить, что в экосистеме также и Big Query, и Google Analytics, и Google Looker, и Firebase, включая облачные функции, хостинг, базы данных, машин лернинг, мессаджинг, расширения. И многое из этого - с жЫрным бесплатным лимитом.

C жЫрнющим лимитом согласен, но для базовых автоматизаций более чем достаточно. А про все остальное имеет смысл написать в доп статейке. Эту очень не хотелось перегружать большим количеством инфы, а сделать очень простой для чтения.

Пару лет назад я сделал таблицу с этим скриптом, последний раз пользовал прошлым летом. Прочитал статью по диагонали, вспомнил про таблицу, открыл на iPad - nameerror, не работает. Причём открывается всегда и только в приложении Sheets, даже из браузера. А никакого выхода на скрипт в приложении нет, то есть вся эта кухня намертво прикручена к десктопу. На наше время и по моему мнению - автоматом попадает в категорию полного дерьма.

Если а десктопе открыть в браузере, то на несколько секунд показывает nameerror, потом находит скрипт. После чего работает и в Sheets. Что только подтверждает, опять же по личному мнению, написанное в конце предыдущего абзаца.

Сейчас не время подсаживаться на Гугол, это точно. Да и время подсаживаться на таблички тоже, как по мне, давно прошло. HTML сервер, база данных - зачем AppScript когда есть Rust? Зачем вообще обёртывать данные в документы и ими обмениваться когда можно просто обмениваться данными? Что офис Гугла, что офис Микрософт - для ретроградов, так выходит.

А если хочется паразитировать на маркетинговых усилиях недружественных иноземцев - есть куча пока доступного и пока бесплатного, в том числе в смысле лимита, хостинга. Хоть anwil.works, хоть shuttle.rs.

Тут скорее больше вопрос в удобстве, количестве затраченных сил и времени. Если честно, я далек от Rust (Но с удовольствием пойду почитаю). У нас полюбили таблички, так как люди постоянно в них работают и было принято решение взять то, чем уже пользуются давно и проапгрейдить, нежели брать всех и пересаживать кaрдинально на другою систему попутно вызвав недовольство, попогорение и стресс.
Если говорить про аналоги, то они все довольно сырые или надо собирать франкенштейна. Если бы было что-то столь мощное, функциональное и в одном флаконе, то конечно бы мы копали в эту сторону. Но пока мы стараемся выжать максимум из того что есть.

Регулярно пользуюсь в связке с Google form

Интересно конечно, но я зная манеры гугл, может оказаться, что завтра этот проект закроют

Прям закроют вряд ли, это как макросы в мс офисе. Но было такое, что меняют синтаксис/методы работы/разрешения/апишку, когда старые скрипты переставали работать и надо было переделывать что-то :)

А так удобно, для soho-автоматизации. пользовал для связки почты со слаком, для конвертации доков в маркдаун, был прожект связки бота в тележке и табличек

Зарегистрируйтесь на Хабре, чтобы оставить комментарий