❌Google-таблицы НЕ предназначены для быстрой работы с большим объемом данных❌ ❌Google-таблицы НЕ рекомендуется использовать для финального продукта❌ ❌По работоспособности интеграции с google-таблицами НЕТ и НЕ будет никаких гарантий❌ ❌По ошибка сценариев с использованием google-таблиц техническая поддержка не оказывается❌ |
|
Для использования 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
Метод: 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 |
{ "count": 2, "data": [ { "Идентификатор": "7f2e8a0c-4d6f-4d9d-8c2f-7f1c9e7a1c8a", "Группа": 1, "Фамилия": "Кузнецова", "Имя": "Анна", "Отчество": "Ивановна", "Дата": "22.01.2022", "Row": 2 }, { "Идентификатор": "3f6d4b21-8e4a-4f5d-9b7d-1c3d0f6e9c5b", "Группа": 1, "Фамилия": "Лебедев", "Имя": "Артем", "Отчество": "Александрович", "Дата": "22.01.2022", "Row": 3 } ], "filter_used": true, "filter_headers": [ "Группа", "Дата" ], "filter_values": [ "1", "22.01.2022" ], "msg": "Ok" } |
Поле | Обязательность | Описание |
---|---|---|
count | Да | Число элементов массива data – количество строк (не считая заголовка), полученных из таблицы |
data | Да | Массив данных (строк) – полученных из таблицы |
Идентификатор/Группа и тд | нет | Значения в соответствующих заголовках таблицы в строке Row |
Row | нет | Номер строки в таблице |
filter_used | нет | Был ли применен фильтр |
filter_headers | нет | Заголовки, по которым была фильтрация |
filter_values | нет | Значения для фильтрации |
msg | Да | Сообщение об успешном завершении "Ok" |
Метод: POST
Authorization: No Auth
URL: http://intgr.twin24.io:60061/add_rows
Body:
{ "data": [ [ "Test", 1, "Just string" ], [ "Test", 2, "=A1" ] ] } |
Параметр | Обязательность | Описание |
---|---|---|
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 --location 'http://intgr.twin24.io:60061/add_rows?spreadsheet_url=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1J3SR6E3cH6EJ5Z...3rEx3fX0%2Fedit%23gid%3D0&worksheet_name=%D0%9B%D0%B8%D1%81%D1%821&mode=1' \ --header 'accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "data": [ [ "Test", 1, "Just string" ], [ "Test", 2, "=A1" ] ] }' |
{ "msg": "Ok", "updatedRange": "'Лист1'!A45:C46" } |
Поле | Обязательность | Описание |
---|---|---|
msg | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |
updatedRange | Нет | Обновленные ячейки таблицы в формате "'НАЗВАНИЕ ЛИСТА'!ДИАПАЗОН_В_А_НОТАЦИИ" Отсутствует в случае ошибок |
Метод: DELETE
Authorization: No Auth
URL: http://intgr.twin24.io:60061/delete_rows
Параметр | Обязательность | Описание |
---|---|---|
spreadsheet_url | да | Ссылка на гугл таблицу |
worksheet_name | нет | Имя "листа", из которого будут получены данные Если отсутствует, то будет использован первый лист |
start | да | Номер строки - начало диапазона для удаления *Если передан только параметр start, то будет удалена одна строка, номер который передан в этом параметре. |
end | нет | Номер строки - конец диапазона для удаления *Если передан только параметр start, то будет удалена одна строка, номер который передан в этом параметре. |
{ "msg": "Ok" } |
Поле | Обязательность | Описание |
---|---|---|
msg | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |
Метод: POST
Authorization: No Auth
URL: http://intgr.twin24.io:60061/update_cells
Body:
{ "range": "C18", "data": [ [ 0, "=A5" ], [ "Test" ] ] } |
Параметр | Обязательность | Описание |
---|---|---|
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 -X 'POST' \ 'http://intgr.twin24.io:60061/update_cells?spreadsheet_url=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1J3SR6E3cH6EJ5Z...3rEx3fX0%2Fedit%23gid%3D0&worksheet_name=%D0%9B%D0%B8%D1%81%D1%821&mode=1' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "range": "C19", "data":"=B1" }' |
curl -X 'POST' \ 'http://intgr.twin24.io:60061/update_cells?spreadsheet_url=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F1J3SR6E3cH6EJ5Z...3rEx3fX0%2Fedit%23gid%3D0&worksheet_name=%D0%9B%D0%B8%D1%81%D1%821&mode=1' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "range": "C18", "data": [ [ 0, "=A5" ], [ "Test" ] ] }' |
{ "msg": "Ok" } |
Поле | Обязательность | Описание |
---|---|---|
msg | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |