ВАЖНО
❌Google-таблицы НЕ предназначены для быстрой работы с большим объемом данных❌
❌Google-таблицы НЕ рекомендуется использовать для финального продукта❌
❌По работоспособности интеграции с google-таблицами НЕТ и НЕ будет никаких гарантий❌
❌По ошибка сценариев с использованием google-таблиц техническая поддержка не оказывается❌
ОГРАНИЧЕНИЯ
- При использовании апи с таблицами с суммарным количеством строк более 50_000 могут наблюдаться задержки в ответе
- Работоспособность апи с таблицами с суммарным количеством строк более 100_000 не гарантируется.
- С "большими" (более 50_000 строк) таблицами крайне рекомендуется отказаться от работы через апи гугл таблиц и перейти на работу в crm системе с открытым апи.
ВАЖНО
Для использования api таблица должна быть либо открыта для "всех, у кого есть ссылка", либо если нет такой возможности, то для пользователя twin-gsheets@gspread-restapi.iam.gserviceaccount.com
Введение
Новая реализация api для работы с гугл таблицами.
Документация
Ссылка на swagger-документацию: http://intgr.twin24.io:60061/docs
Чтение данных из таблицы
Ссылка на документацию по методу
http://intgr.twin24.io:60061/docs#/Get%20Data/Get_data_from_spreadsheet_get_data_get
Метод, URL и авторизация
Метод: GET
Authorization: No Auth
URL: http://intgr.twin24.io:60061/get_data
Описание параметров метода
Параметр | Обязательность | Описание |
---|---|---|
spreadsheet_url | да | Ссылка на гугл таблицу |
worksheet_name | нет | Имя "листа", из которого будут получены данные Если отсутствует, то будет использован первый лист |
filter_headers | нет | Имя заголовков столбцов, по которым будет происходить фильтрация Для передачи нескольких заголовков используется разделитель [///] Например: Хотим использовать заголовки Имя и Телефон Тогда в filter_headers передаем значение Имя[///]Телефон |
filter_values | нет | Значение фильтров по заголовкам Для передачи нескольких заголовков используется разделитель [///] Например: Используя пример с Имя и Телефон, хотим найти Иван с номером 79991234567 Тогда в filter_values передаем значение Иван[///]79991234567 |
Пример запроса (URL)
Пример ответа
Описание полей ответа (Успешного. Код: 200)
Поле | Обязательность | Описание |
---|---|---|
count | Да | Число элементов массива data – количество строк (не считая заголовка), полученных из таблицы |
data | Да | Массив данных (строк) – полученных из таблицы |
Идентификатор/Группа и тд | нет | Значения в соответствующих заголовках таблицы в строке Row |
Row | нет | Номер строки в таблице |
filter_used | нет | Был ли применен фильтр |
filter_headers | нет | Заголовки, по которым была фильтрация |
filter_values | нет | Значения для фильтрации |
msg | Да | Сообщение об успешном завершении "Ok" |
Добавление строки/строк в таблицу
Ссылка на документацию по методу
Метод, URL, авторизация и тело
Метод: POST
Authorization: No Auth
URL: http://intgr.twin24.io:60061/add_rows
Body:
Описание параметров метода
Параметр | Обязательность | Описание |
---|---|---|
spreadsheet_url | да | Ссылка на гугл таблицу |
worksheet_name | нет | Имя "листа", из которого будут получены данные Если отсутствует, то будет использован первый лист |
empty | нет | Выбор режима записи одной строки (если строк несколько - игнорируется):
*Первый режим работает значительно быстрее второго, так как не требует поиска пустой строки |
mode | нет | Выбор режима обработки переданных в таблицу данных:
|
Описание полей тела метода
Поле | Обязательность | Тип | Описание |
---|---|---|---|
data | да | List[List] | Массив строк для записи |
data.X (где X - номер элемента в массиве data) | да | List[int | str] | Массив значений для записи в строку |
data.X.Y (где Y номер элемента в массиве data.X) | да | int | str | Значение для записи |
Пример запроса (cURL)
Пример ответа
Описание полей ответа (Успешного. Код: 200)
Поле | Обязательность | Описание |
---|---|---|
msg | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |
updatedRange | Нет | Обновленные ячейки таблицы в формате "'НАЗВАНИЕ ЛИСТА'!ДИАПАЗОН_В_А_НОТАЦИИ" Отсутствует в случае ошибок |
Удаление строки/строк из таблицы
Ссылка на документацию по методу
Метод, URL и авторизация
Метод: DELETE
Authorization: No Auth
URL: http://intgr.twin24.io:60061/delete_rows
Описание параметров метода
Параметр | Обязательность | Описание |
---|---|---|
spreadsheet_url | да | Ссылка на гугл таблицу |
worksheet_name | нет | Имя "листа", из которого будут получены данные Если отсутствует, то будет использован первый лист |
start | да | Номер строки - начало диапазона для удаления *Если передан только параметр start, то будет удалена одна строка, номер который передан в этом параметре. |
end | нет | Номер строки - конец диапазона для удаления *Если передан только параметр start, то будет удалена одна строка, номер который передан в этом параметре. |
Пример запроса (URL)
Пример ответа
Описание полей ответа (Успешного. Код: 200)
Поле | Обязательность | Описание |
---|---|---|
msg | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |
Изменение и запись ячейки/ячеек в таблице
Ссылка на документацию по методу
Метод, URL, авторизация и тело
Метод: POST
Authorization: No Auth
URL: http://intgr.twin24.io:60061/update_cells
Body:
Описание параметров метода
Параметр | Обязательность | Описание |
---|---|---|
spreadsheet_url | да | Ссылка на гугл таблицу |
worksheet_name | нет | Имя "листа", из которого будут получены данные Если отсутствует, то будет использован первый лист |
mode | нет | Выбор режима обработки переданных в таблицу данных:
|
Описание полей тела метода
Поле | Обязательность | Тип | Описание |
---|---|---|---|
range | да | str | Номер ячейки или диапазон ячеек для изменения в A1 нотации |
data | да | List[List] | int | str | Массив строк для записи или Значение для записи |
data.X (где X - номер элемента в массиве data) | да | List[int | str] | Массив значений для записи в строку |
data.X.Y (где Y номер элемента в массиве data.X) | да | int | str | Значение для записи |
Пример запроса (cURL)
Запись одного значения
Запись массива строк
Пример ответа
Описание полей ответа (Успешного. Код: 200)
Поле | Обязательность | Описание |
---|---|---|
msg | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |