Google таблицы
3
Для полноценной настройки интеграции нам понадобится пройти всего три этапа:
- Установка скрипта
- Подготовка таблицы
- Настройка схемы
Установка скрипта:
- Заходим на сайт: https://script.google.com/
- Нажимаем "Создать проект"

- Удаляем код с примером

- Вставляем код нашего скрипта [скачать скрипт]
- Нажимаем "Начать развертывание" и "Новое развертывание"

- Нажимаем шестеренку и "Веб-приложение"

- В графе "У кого есть доступ" выбираем "Все"

- Нажимаем "Начать развертывание"
- Ожидаем загрузки (около минуты)
- После окончания загрузки жмем кнопку "Предоставить доступ"
- Выбираем свой аккаунт
- В окне предупреждения нажимаем слева внизу "Advanced" и ниже жмем "Go to Проект без названия (unsafe)"
- Затем подтверждаем нажимая "Allow"
- В получившимся окне копируем URL (можно сделать это нажав "OK")

- И последнее - нажимаем "Выполнить" и аналогично предыдущему пункту выбираем аккаунт и подтверждаем.

- Если всплывет ошибка - не переживайте, так и должно быть.
Настраиваем таблицу
Заполняем нужные ячейки

При необходимости сформируйте ссылку с доступом.
Из таблицы нам понадобится:
- id таблицы

- Название листа. Например:
Лист1

Настраиваем блок-схему
- Создаем действие "Отправить запрос на внешний сайт"
- Вставляем наш скопированный ранее URL
- Метод отправки выбираем "FORM POST"
- Формат результата выбираем "JSON"
- Нажимаем галочку "Добавить параметры запроса" и добавляем нужные параметры из примеров ниже.
- Ставим галочку "Настроить частотные ограничения" и ставим 1000 (рекомендуемые лимиты гугл-таблицами)
- Ставим галочку "Следить за перенаправлением"
- При необходимости, или для тестирования, ставим галочку "Сохранить результат в переменную" и указываем свою переменную. Например
table
- Если переменная
{var:table.status}
= success
- значит запрос отправлен корректно без ошибок.
Параметры запроса:
documentid
(текст) - id таблицы (копируется из адресной строки таблицы как на скриншоте выше)
sheetname
(текст) - название листа (По умолчанию "Лист1")
data
(текст) - данные, которые мы будем записывать, разделенные двойным знаком тильды ~~
mode
(текст) - режим запроса: new
, edit
, delete
,search
По умолчанию: new
range
(текст) - ячейка, с которой мы будем записывать. Например, a3
. Используется для режимов edit
и delete
.
deleteEntireRow
(число) - 1
- удаление всей строки и 0
- удаление конкретной ячейки. (используется вместе с range
)
editRow
(число) - 0
- перезапись всей строки (начиная с range
) и 1
- редактирование конкретной ячейки. (используется вместе с range). Используется для режима edit
Важно! Если вы указываете editRow
= 1
и в data
несколько значений
%first_name%~~%last_name%~~%vk_id%~~https://vk.com/id%vk_id%
то скрипт запишет в ячейку только первое значение, т.е. %first_name%
игнорируя остальные.
FindRow
(число) -0
- вернет адрес всей строки в которой найден искомый текст (указанный в search_text
) и 1
- вернет адрес конкретной ячейки в которой найден искомый текст (указанный в search_text
). Используется для режима search
Важно! Если найденных строк будет много, то скрипт вернет только первую найденную)
Cell
(число)- 0
- вернет адрес всей строки в которой найден искомый текст (указанный в search_text
) и 1
- вернет адрес конкретной ячейки в которой найден искомый текст (указанный в search_text
). Используется для режима search
Режимы запроса mode:
new
- с новой строки
edit
- редактирование
delete
- удаление ячейки
search
- поиск текста
Формат передачи данных:
Данные должны разделяться двойным знаком тильды: ~~
Например: {user:first_name}~~{user:last_name}
- передаст в таблицу имя и фамилию пользователя в две первых ячейки.
Для удобства - можно создать действие "Задать значение текстовой переменной", сохранив значения в переменную data.
Пример простой настройки для добавления данных в новую строку:

Пример настройки редактирования строки 3 (после параметра data):

Пример настройки удаления строки 3 (после параметра data):

Пример настройки поиска значения 777:

Для нетерпеливых -- схема.