❌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 | Да | Сообщение об успешном выполнении. В случае ряда ошибок будет содержать текст ошибки |