Salebot.pro
Search…
Google-таблицы
Все возможности взаимодействия бота с гугл таблицами.
Данный функционал доступен на максимальном тарифе
В этой статье разберем как боты могут взаимодействовать с гугл таблицами.
Для того, чтобы использовать данный функционал, вам необходимы:
  1. 1.
    Google таблица, открытая на редактирование по ссылке
  2. 2.
    URL функции
  3. 3.
    Параметры запроса

Как подготовить Google таблицу

Как написать json запрос

Переходим в настройки блока, в котором у нас будет осуществляться запись. Выбираем тип запроса POST-json, в строку URL функции вставляешь нужный нам URL, в поле JSON POST-параметров вставляем параметры (Рисунок 5)
Чтобы увидеть какой ответ приходит на ваш запрос напишите в поле Ответ {custom_answer}, сохраните и пройдите по цепочке. Далее можно каждое значение из ответа сохранить в переменные в поле Сохранение значения из JSON-ответа, используя синтаксис:
параметр_из_запроса -> ваша_переменная
Если приходят сложные параметры, то разбираем их так:
  • "cell_number":{"row":4,"col":2} cell_number|row -> Строка; cell_number|col -> Столбец
Теперь разберем подробнее что же все-таки боты умеют делать с гугл таблицами.

Как осуществлять построчную запись в определенные столбцы

Вы можете собрать множество данных от пользователя и записать их в первую свободную в таблице строку. Осуществляется с помощью функции mapping.
В таблице должна быть заполнена шапка (хотя бы одна ячейка в первой строке)
Параметры запроса {"id": "ид таблицы", "mapping":{"a":"#{переменная}", "b": "#{еще}", "c": "#{еще}", "d":"просто текст"}}
Если вы хотите записывать строки не на первом листе, то надо добавить в запрос параметр list_name:
{"id": "ид таблицы", "mapping":{"a":"просто текст", "b": "#{переменная}"}, "list_name": "Название листа"}
Где id это id вашей гугл таблицы. Вы можете получить его из ссылки на вашу гугл таблицу (то что выделено жирным в ссылке ниже). https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0
a, b, c, d - это как раз имена столбцов list_name - название вашего листа (например, "Лист2")
Если проблем при выполнении запроса не возникло, то в ответ приходит {"number_row":8}. Вы можете сохранить этот номер строки и использовать для дальнейшей работы.
Если вы не хотите рисковать и желаете ограничить доступ к своей таблице лишь своей учетной записью, то надо передавать параметр creds_path с url вашего файла с данными. Подробнее об этом ниже в пункте Работа через свой аккаунт:
{"id": "ид таблицы", "mapping":{"a":"#{переменная}", "b": "#{еще}", "c": "#{еще}", "d":"просто текст"},"creds_path": "путь к вашему файлу с данными для авторизации"}

Как осуществлять запись данных в определенные ячейки

Параметры {"id": "ид таблицы", "write":{"a1":"#{переменная}", "b3": "#{еще}", "c1": "#{еще}", "d20":"просто текст"}}. Запись осуществляется в конкретные ячейки, которые вы укажете (в нашем примере a1, b3, c1, d20)
Нумерация колонок идет с единицы.
Если вы хотите записывать строки не на первом листе, то надо добавить в запрос параметр list_name:
{"id": "ид таблицы", "write":{"a1":"#{переменная}", "b3": "#{еще}", "c1": "#{еще}", "d20":"просто текст"}, "list_name": "Название листа"}
Если проблем при выполнении запроса не возникло, то в ответ не приходят никакие параметры.
Если вы не хотите рисковать и желаете ограничить доступ к своей таблице лишь своей учетной записью, то надо передавать параметр creds_path с url вашего файла с данными. Подробнее об этом ниже в пункте Работа через свой аккаунт:
{"id": "ид таблицы", "write":{"a1":"#{переменная}", "b3": "#{еще}", "c1": "#{еще}", "d20":"просто текст"}, "list_name": "Название листа","creds_path": "путь к вашему файлу с данными для авторизации"}

Как осуществлять удаление записи из конкретных ячеек

Параметры {"id": "ид таблицы", "remove":["a1", "b3", "c2"]}. Удалит значения из конкретных ячеек, которые вы укажете (в нашем примере a1, b3, c2)
Нумерация колонок начинается с единицы.
Если вы хотите удалить ячейки не на первом листе, то надо добавить в запрос параметр list_name:
{"id": "ид таблицы", "remove":["a1", "b3", "c2"], "list_name": "Название листа"}
Если проблем при выполнении запроса не возникло, то в ответ не приходят никакие параметры.
Если вы не хотите рисковать и желаете ограничить доступ к своей таблице лишь своей учетной записью, то надо передавать параметр creds_path с url вашего файла с данными. Подробнее об этом ниже в пункте Работа через свой аккаунт:
{"id": "ид таблицы", "remove":["a1", "b3", "c2"], "list_name": "Название листа","creds_path": "путь к вашему файлу с данными для авторизации"}

Как осуществлять запись в первую пустую ячейку строки

Вы можете записать данные в указанную строку, запись произойдет в пустую ячейку, справа от последней заполненной ячейки. Осуществляется с помощью функции append_in_row.
URL функции: https://store.salebot.pro/function/gsheets
Параметры запроса {"id": "ид таблицы", "append_in_row":"8", "value": "записываемое значение"}
Если вы хотите записывать строки не на первом листе, то надо добавить в запрос параметр list_name: {"id": "ид таблицы", "append_in_row":"8", "value": "записываемое значение", "list_name": "Название листа"} Где id это id вашей гугл таблицы. Вы можете получить его из ссылки на вашу гугл таблицу (то что выделено жирным в ссылке ниже).
https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0
append_in_row - номер строки в которую производится запись
value - значение, которое запишется в ячейку
Если проблем при выполнении запроса не возникло, то в ответ приходит {"number_col":10,"col_name":"J3"}. Вы можете сохранить эти номеры и использовать для дальнейшей работы.
Если вы не хотите рисковать и желаете ограничить доступ к своей таблице лишь своей учетной записью, то надо передавать параметр creds_path с url вашего файла с данными. Подробнее об этом ниже в пункте Работа через свой аккаунт: {"id": "ид таблицы", "mapping":{"a":"#{переменная}", "b": "#{еще}", "c": "#{еще}", "d":"просто текст"},"creds_path": "путь к вашему файлу с данными для авторизации"}

Как осуществлять чтение данных из таблицы

{"id": "ид таблицы", "read":{"a1":"a1", "b3": "b4", "c1": "c10", "d20":"a1"}} Параметрами передавайте диапазоны. В примере "a1":"a1" возвращает одну ячейку, а "c1":"c10" 10 значений из колонки c. Возвращаемое значение хеш из адреса ячейки и значения из него.
Нумерация колонок идет с единицы.
Если вы хотите прочитать значения не на первом листе, то надо добавить в запрос параметр list_name:
{"id": "ид таблицы", "read":{"a1":"a3", "b3": "b6"}, "list_name": "Название листа"}
Если проблем при выполнении запроса не возникло, то в ответ приходит название ячейки и ее содержимое:{"A1":"\u043f\u0440\u0438\u0432\u0435\u0442","A2":"\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f","A3":"\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f","B3":"\u0444\u0443\u043d\u043a\u0446","B4":"\u0444\u0443\u043d\u043a\u0446","B5":"\u0444\u0443\u043d\u043a\u0446"}
Если вы не хотите рисковать и желаете ограничить доступ к своей таблице лишь своей учетной записью, то надо передавать параметр creds_path с url вашего файла с данными. Подробнее об этом ниже в пункте Работа через свой аккаунт:
{"id": "ид таблицы", "read":{"a1":"a3", "b3": "b6"}, "list_name": "Название листа","creds_path": "путь к вашему файлу с данными для авторизации"}

Как искать текст в таблице (вывод первой подходящей строки)

Часто бывает необходимо по ключу найти ответ в таблице и вывести в боте. Примеры использования: поиск наличия на складе товара, отображение стоимость услуги.
Нумерация строк и колонок идет с единицы.
Существует четыре способа: 1) Поиск по всей таблице и вывод текста из соседней ячейки {"id": "ид таблицы", "find": "текст для поиска"} Ответ: {"status":"1","data":"\u0440\u0430\u0441\u0441\u0432\u0435\u0442","cell_number":{"row":4,"col":1, "col_letter":"A"}} Разбор ответа: data -> Ответ; cell_number|row -> Строка; cell_number|col -> Столбец
2) Поиск по колонке и вывод текста из соседней ячейки. Где col номер колонки для поиска. {"id": "ид таблицы", "find": "текст для поиска", "col": 2} Ответ: {"status":"1","data":"\u043a\u0440\u044b\u0448\u0430","cell_number":{"row":4,"col":2, "col_letter":"B"}} Разбор ответа: data -> Ответ; cell_number|row -> Строка; cell_number|col -> Столбец
3) Поиск по колонке и вывод текста из указанной колонки в той же строке. Где return номер колонки для вывода. {"id": "ид таблицы", "find": "текст для поиска", "col": 2, "return": 4} Ответ: {"status":"1","data":"\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f","cell_number":{"row":6,"col":2, "col_letter":"B"}} Разбор ответа: data -> Ответ; cell_number|row -> Строка; cell_number|col -> Столбец
4) Поиск по колонке и вывод текста из всей строки. Параметр return необходимо передать со значением 0. {"id": "ид таблицы", "find": "текст для поиска", "col": 2, "return": 0} Ответ: {"status":"1","data":{"0":"\u0441\u043e\u043b\u043d\u0446\u0435","1":"\u0440\u0430\u0441\u0441\u0432\u0435\u0442","2":"\u043a\u0440\u044b\u0448\u0430","3":"","4":"\u043d\u0435\u0431\u043e"},"cell_number":{"row":4,"col":1, "col_letter":"A"}} Разбор ответа: data -> Ответ; data|0 -> Ячейка1; data|1 -> Ячейка2; data|2 -> Ячейка3; data|3 -> Ячейка4; cell_number|row -> Строка; cell_number|col -> Столбец
Если вы хотите прочитать значения не на первом листе, то надо добавить в запрос параметр list_name: {"id": "ид таблицы", "find": "текст для поиска", "col": 2, "return": 4, "list_name": "Название листа"}
Если вы не хотите рисковать и желаете ограничить доступ к своей таблице лишь своей учетной записью, то надо передавать параметр creds_path с url вашего файла с данными. Подробнее об этом ниже в пункте Работа через свой аккаунт:
{"id": "ид таблицы", "find": "текст для поиска", "col": 2, "return": 4,"creds_path": "путь к вашему файлу с данными для авторизации"}
Параметр ответа "status":"1" означает, что найдено значение, а "status":"0" - не найдено. data - найденное значение, cell_number - найденная ячейка.
По умолчанию поиск идет на полное совпадение, но вы можете использовать и другие алгоритмы поиска. Об этом читайте ниже в пункте Другие алгоритмы поиска.

Как вывести список всех совпадений из таблицы

Для нахождения всех заданных значений в колонке используйте функцию findcell с параметром 'find_all', при этом она найдет все значения параметра 'find_all' в колонке 'col' и выведет строкой список уникальных значений из колонки 'return'.
URL функции: https://store.salebot.pro/function/findcell Пример параметров:{"id": "id таблицы", "find_all": "что ищем", "list_name": "название листа", "col": "номер колонки в которой ищем", "return": "номер колонки из которой возвращаем" , "find": "!"}вспомогательный параметр "find": "!" также надо передавать. Пример ответа: {"status":1,"spisok":"\u0412\u0430\u0441\u0438\u043b\u0438\u0439\n+79873238217\n \u0448\u043f\u044b\u0446\n8906796808", "quantity": 5} Разбор ответа: spisok -> Список; quantity -> количество

Поиск по нескольким колонкам

Если возникла необходимость искать по нескольким колонкам сразу, то нужно использовать следующий запрос.
Пример параметров:
{"id": "id таблицы", "find_all": "ok", "list_name": "название листа", "columns": {"2":"что ищем", "4": "еще что ищем", "3": "то что ищем"}, "return": "номер колонки из которой возвращаем", "with_index": "1"}
Обратите внимание на параметр: "columns": {"2":"что ищем", "4": "еще что ищем", "8": "то что ищем"}
цифры (2, 4, 8), это пример номеров колонок в каких нужно искать, а после двоеточия тот текст, который ищем
вспомогательный параметр "find_all": "ok" также надо передавать
with_index - если указан с значением 1, то функция вернет список с указанием номера строки, в которых найдены ячейки, например: белый - 3 красный - 7 желтый - 8 где 3,7,8 это номера строк, если этот параметр не передавать, то вернется:
with_index - если указан с значением 2, то функция вернет список с указанием номера строки, в которых найдены ячейки, например: 3 - белый 7 - красный 8 - желтый где 3,7,8 это номера строк
with_index - если указан с значением 3, то функция вернет словарь значений с ключом от 0 и далее, в которых найдены ячейки, например: {"0":"белый", "1":"красный", "2":"желтый"} который можно разобрать используя функцию get()
Такой запрос вернет список значений, если в строке совпадут все значения по столбцам в параметре columns.
Пример ответа: {'status': 1, 'spisok': белый\nкрасный\nжелтый\n', 'quantity': 3, 'rows_index': [4, 9, 13]}
Разбор ответа: spisok -> список; quantity -> количество rows_index -> stroki
Если в return указать 0, тогда вернется первая найденная строка со всеми значениями, которые можно сохранить: {"status":"1","data":{"0":"значение 1 ячейки","1":"значение 1 ячейки","2":"значение 2 ячейки","3":"значение 3 ячейки","4":"значение 4 ячейки"},"row":5}
data - словарь со значениями ячеек в строке
row - номер найденной строки
Пример:

Другие алгоритмы поиска.

Для использования новых алгоритмов поиска нужно, к стандартному вызову, добавить дополнительные параметры.Добавлено 4 новых алгоритма поиска (‘alg’) по:
Левенштейну - ‘L’ используя регулярное выражение - ‘R’ частичному Левенштейну - ‘PL’ по наличию ключевых слов - ‘K’
Пример запроса: {"id": "ид таблицы", "find": "текст для поиска", "alg":"L"}
Регулярное выражение принимает обязательный параметр: “value”: “тут ваше регулярное выражение”
Регулярное выражение необходимо экранировать. Перед каждым символом \ необходимо указать такой же \, то есть исходное выражение "^\d\dquot; должно выглядеть как "^\\d\\dquot;
Левенштейн и частичный Левенштейн, принимает дополнительный параметр: “value”: ”95” - минимальный порог похожести, регистр не учитывается (от 1 до полного совпадения 100, по умолчанию 80). Возвращает наивысшее совпадение.
Примеры
Поиск по Левенштейну, порог вхождения 90 и выше. 1) Поиск по всей таблице и вывод текста из соседней ячейки {"id": "ид таблицы", "find": "текст для поиска", “alg”: “L”, “value”: “90”}
Поиск с использованием регулярного выражения 3) Поиск по колонке и вывод текста из указанной колонки в той же строке. Где return номер колонки для вывода. {"id": "ид таблицы", "col": 2, "return": 4, “alg”: “R”, “value”: “^\\d\\d$”} Параметр "find": "текст для поиска" в этом режиме поиска не нужен.

Как полностью удалить строку (со смещением)

Функция: https://store.salebot.pro/function/cellerase Для использования данного функционала передавайте в функцию следующие параметры: id - id гугл таблицы delrows - номер строки (начиная с 1) list - порядковый номер листа или list_name - имя листа
Пример: {"id": "1JysraU1Bzn3Etyt6_TYSwz1Y7_mEPfgkQnb7BHEm3_0", "delrows": "1", "list": "2" } или {"id": "1JysraU1Bzn3Etyt6_TYSwz1Y7_mEPfgkQnb7BHEm3_0", "delrows": "1", "list_name": "Лист2" }

Как полностью удалить колонку (со смещением)

Функция: https://store.salebot.pro/function/cellerase
Аналогично удалению строки, только нужно передать параметр delcols
id - id гугл таблицы delcols - номер столбца (начиная с 1) list - порядковый номер листа либо list_name - имя листа
Пример: {"id": "1JysraU1Bzn3Etyt6_TYSwz1Y7_mEPfgkQnb7BHEm3_0", "delcols": "1", "list": "2" } или {"id": "1JysraU1Bzn3Etyt6_TYSwz1Y7_mEPfgkQnb7BHEm3_0", "delcols": "1", "list_name": "Лист2" }

Как сделать кнопки для выбора листа в таблице

Если вы хотите предложить пользователю возможность выбрать определенный лист в таблице (например, для записи на прием в определенный день), то воспользуйтесь вспомогательной функцией sheetchoice.
После вызова функция вернет массив с кнопками который вы можете использовать для выбора листа или в случае мессенджеров без кнопок функция вернет текстовый выбор названий листов.
функция принимает следующие параметры
{"id": "id таблицы", "client_type": "#{client_type}", "show": "количество результатов для вывода"}
где id - это id таблицы с которой вы работаете , client_type - тип мессенджера и show - количество результатов для вывода
Пример ответа функции в случае мессенджеров с кнопками:
{"vibor": "[{\"type\": \"reply\", \"text\": \"22.11.2019\", \"line\": 0, \"index_in_line\": 0}, {\"type\": \"reply\", \"text\": \"20.11.2019\", \"line\": 1, \"index_in_line\": 0}]"}
Пример ответа функции в случае мессенджеров без кнопок:
{"vibor": "0 - 22.11.2019\n1 - 20.11.2019\n"}
Сохраните ответ функции в нужную вам переменную, например, так vibor->vibor. Для ботов, поддерживающих кнопки, вставляйте ее в поле "Расширенные настройки кнопок"
Для мессенджеров без кнопок, выводите ее в блоке с ответом

Как работать через свой аккаунт

По умолчанию конструктор работает с собственными сервисными аккаунтами для доступа к вашим таблицам. Поэтому вам необходимо выдавать доступ на редактирование по ссылке. Чтобы обеспечить достаточный уровень безопасности, вы можете передавать json с аутентификационными данными.
У гугл таблиц есть лимиты на количество запросов в единицу времени. Чтобы не зависеть от лимитов, вы можете использовать свой аккаунт.
Каждая функция по работе с таблицами принимает: creds_path - необязательный параметр путь или url к вашему файлу содержащему сервисные данные для авторизации в таблице.
Самый простой путь получения такого url - загрузить файл с данными в конструктор. Для этого нужно создать блок первостепенной проверки условия, в условие которого вписать любой набор знаков, а во вложения - положить файл с сервисными данными (как его получить - читайте ниже), включив вывод ссылкой. После этого вам будет достаточно в тестовом чате вызвать данный блок - он в ответ пришлет вам нужную ссылку. Чтобы файл даже случайно не оказался у посторонних - после получения ссылки измените тип блока на состояние диалога.
Останется только скопировать ссылку из тестового чата и указать ее в параметрах запроса передавая полученный URL в параметре creds_path (подробнее - читайте ниже).
Например: {"id": "id таблицы", "client_type": "#{client_type}", "show": "количество результатов для вывода", "creds_path": "УРЛ_вашего_json_файла_с_ключом"}

Подготовка сервисного аккаунта

Создаём проект
Придумываем название для проекта
Перезагружаем страницу. Нажимаем “F5”
Проверяем права доступа. Должно быть Полное -”Owner”
Теперь заходим в “Настройки”
Заходим в “Сервисные аккаунты”
и создаём Сервисный аккаунт
.
Придумываем аккаунту любое название, и жмём “продолжить”
Далее выбираем “Роль”. Она должна быть “Owner”, т.е. “Полная” - Владелец.
Нажимаем “Продолжить”, и далее “DONE”, т.е. “Закончить”
Видим созданный аккаунт
Копируем наш адрес сервисного аккаунта. Обязательно!!! сохраните себе его название. Оно понадобится нам в дальнейшем.
и теперь нам надо создать ключ безопасности. Жмём на 3 точки и выбираем “Manage keys”
Переходим в “Keys” “Добавить новый ключ”
Создаётся закрытый ключ для "SaleBot_1" Скачиваем файл, содержащий закрытый ключ.
Скачиваем ключ куда удобно. Главное запомнить куда. Это “Ключ доступа”, с помощью которого мы будем давать доступ к нашим Google-таблицам Храните файл с ключом в надежном месте, потому что этот ключ невозможно восстановить в случае утери.
Теперь надо добавить наше API-интеграции. Для этого заходим сюда.
Выбираем “APIs & Services”, далее “Dashboard”.
Это “Доска”, на которой мы сможем выбрать подключаемые сервисы Мы подключим два. Это Google-таблицы, и Google-драйв. Нажимаем “Подключить API”
Можно выбрать в Поиске, а можно найти нужный сервис, прокрутив страницу ниже
Подключаем. Если на этом этапе картинка будет не такая, как на скрине, то обновляем страницу “F5”. Жмём “Enable”
Подключилось.
Теперь повторяем тоже самое для Google-таблиц.
Только теперь выбираем Google-Sheets API
Подключилось.
На этом настройки аккаунта закончены.
Теперь переходим в Google-таблицу.
Нажимаем “Настройки доступа” в правом верхнем углу
Появляется окно для ввода названия сервисного аккаунта, который мы копировали выше.
Вставляем название. Убираем “галочку” Уведомления, и проверяем, чтобы было выбрано “Редактор”
Нажимаем “Открыть доступ” Проверяем на всякий случай
Теперь копируем ID таблицы. Оно нам пригодится сейчас.
Переходим в конструктор SaleBot. В свой проект.
Создаём блок с первостепенной проверкой условия. В условии пишем “ключ”. В настройках вложений выбираем файл ключа, который мы сохраняли выше.
Сохраняем. Переходим в тестирование бота. набираем ключевое слово, которое записывали в Условии (в нашем случае “ключ”) Получаем ссылку
Копируем ссылку.
Теперь нам нужно сделать запрос в таблицу. Создаём ещё один бок с первостепенной проверкой условия, который запускается по команде “старт”. В тексте сообщения выводим переменную #{custom_answer}
Сделаем запрос “mapping”, т.е. построчно запишем некий текст.
Формируем запрос
Выбираем Post-json А в поле JSON параметры записываем параметры запроса: {"id": "ид таблицы", "mapping": { "a": "Проверка" }, "list_name": "Лист1", "creds_path": "Путь к вашему файлу с данными для авторизации" }
В “creds_path” прописываем ссылку, которую мы получили при тестировании, когда набирали стартовую команду “ключ”
И вставляем ID-таблицы
И вставляем это в JSON параметры. В url запроса прописываем функцию из документации для функции mapping
Сохраняем. Тестируем. Набираем команду “старт”
Видим, что всё работает. Наш тестовый текст “Проверка” записался во вторую строку. Проверяем таблицу.
Всё нормально записалось. на этом Настройка аккаунта, и тестирование закончено.

Видеоверсия:

Видеопримеры

Построчная запись в таблицы
Чтение из таблицы
Поиск информации по таблице
Работа с гугл-таблицами, языком программиста

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

Если вам надо перевести букву колонки в цифру, можете воспользоваться функцией калькулятора c2n, если нужно перевести цифру в букву, то используйте n2c. Также вы можете прибавлять к буквам колонок смещение через функцию addCols, которая принимает первым параметром строку с буквой колонки, а второй смещение. Передайте отрицательное смещение, чтобы идти влево.
Пример:
Результат работы:

Как задать переменные в именах колонок

Вы можете переменной указать адрес ячейки для считывания и по этой же переменной достать из ответа в переменную.

Как осуществлять удаление из таблицы

Также добавлена вспомогательная функция https://store.salebot.pro/function/cellerase с помощью нее можно стереть сделанную запись. Принимает параметры вот такого вида. Ничего не возвращает, просто стирает данные в выбранной ячейке {"id": "1JysraU1Bzn3Etyt6_TYSwz1Y7_mEPfgkQnb7BHEm3_0", "row": "#{row}", "col": "#{col}", "list": "2" }
Либо
{"id": "1JysraU1Bzn3Etyt6_TYSwz1Y7_mEPfgkQnb7BHEm3_0", "row": "#{row}", "col": "#{col}", "list_name": "Лист2" }
id - id гугл таблицы row - номер строки (начиная с 1) col - номер столбца (начиная с 1) list - порядковый номер листа list_name - имя листа
Вы можете передавать на выбор один из парамтеров: "list" или "list_name" для выбора нужного листа в таблице.

Удаление диапазона ячеек

Добавлена возможность стирать диапазон ячеек. Для использования данного функционала передавайте в функцию следующие параметры:
id - id гугл таблицы и параметр delrange - в виде "A1:B2" - диапазон ячеек которые нужно стереть. Например:
{"id": "1aPWgvExUzBz0R1gXowLfP-D8z9HVNGr2xWfBbT6VcPk", "delrange": "A1:B2"}
Также как и раньше вы можете передавать параметры "list_name" или "list" для выбора нужного листа в таблице.

Как добавить лист в таблицу

URL функции: https://store.salebot.pro/function/gsheets
Пример запроса:{"id": "ид таблицы", "new_list_name": "New list", "rows": "1000", "cols": "26"} id - айди таблицы new_list_name - имя нового листа rows - количество строк в листе cols - количество столбцов в листе При удачном создании листа, вернет status - ok и ид созданного листа list_id пример: {"status": "ok", "list_id": 384046608} Внимание ограничение на размер всей таблицы (не листа) 5000000 ячеек. Это сумма всех ячеек во всех листах одной таблицы.

Возможные ошибки выводимые в custom_answer

{'code': 400, 'message': 'Invalid requests[0].addSheet: This action would increase the number of cells in the workbook above the limit of 5000000 cells.', 'status': 'INVALID_ARGUMENT'} При попытке создания листа превышается лимит в 5000000 ячеек на одну таблицу. {'code': 400, 'message': 'Invalid requests[0].addSheet: A sheet with the name "ZZZZZZZZZZZ" already exists. Please enter another name.', 'status': 'INVALID_ARGUMENT'} Лист с таким названием уже существует

Возможные ошибки

Если таблица в версии .XLSX, то интеграция работать не будет. Таблицу нужно конвертировать в формат Google-таблиц.

Функции (API) для работы с Google-таблицей

Copy link
Contents
Как подготовить Google таблицу
Как написать json запрос
Как осуществлять построчную запись в определенные столбцы
Как осуществлять запись данных в определенные ячейки
Как осуществлять удаление записи из конкретных ячеек
Как осуществлять запись в первую пустую ячейку строки
Как осуществлять чтение данных из таблицы
Как искать текст в таблице (вывод первой подходящей строки)
Как вывести список всех совпадений из таблицы
Поиск по нескольким колонкам
Другие алгоритмы поиска.
Как полностью удалить строку (со смещением)
Как полностью удалить колонку (со смещением)
Как сделать кнопки для выбора листа в таблице
Как работать через свой аккаунт
Видеопримеры
Как работать с буквами колонок
Как задать переменные в именах колонок
Как осуществлять удаление из таблицы
Удаление диапазона ячеек
Как добавить лист в таблицу
Возможные ошибки
Функции (API) для работы с Google-таблицей