Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Предупреждение
titleВАЖНО

❌Google-таблицы НЕ предназначены для быстрой работы с большим объемом данных❌

❌Google-таблицы НЕ рекомендуется использовать для финального продукта❌

❌По работоспособности интеграции с google-таблицами НЕТ и НЕ будет никаких гарантий❌

❌По ошибка сценариев с использованием google-таблиц техническая поддержка не оказывается❌

Примечание

Важно - Для использования api таблица должна быть либо открыта для "всех, у кого есть ссылка", либо если нет такой возможности, то для пользователя twin-gsheets@gspread-restapi.iam.gserviceaccount.com

Для сохранения информации в переменную первым делом стоит отправить запрос на чтение данных из гугл таблицы, пример запроса и его описание есть в этой статье

.

Для редактирования ячеек в таблице, у этого пользователя также должны быть права редактора в настройках доступа к таблице.

Подсказка

Работать с запросами удобнее, если тестировать запросы при помощи онлайн-утилиты Postman, информацию по нему можно найти в статье: Инструмент для тестирования API. Postman.

Данные из таблицы можно получить после использования API запроса для чтения данных из гугл-таблицы, его описание есть в статье: Как найти строку в гугл-таблице.

  1. Для начала нужно составить запрос в блоке Запрос к серверу:
    Image Added
    Fancy Bullets

    Параметры в URL:

    • {url}: Ссылка на гугл-таблицу.
    • {sheet}:Название нужного листа. Если в таблице только один лист, этот параметр не обязателен.

    В нашем случае запрос вернёт все данные, которые есть в таблице, так как фильтры по ячейкам и столбцам в нём не используются.Первым делом нужно протестировать запрос и увидеть, какой ответ возвращает сервер, для этого можно использовать онлайн утилиту Postman, информацию по нему можно найти в этой статье
    Ответ на запрос чтения информации из гугл-таблицы имеет следующий формат:
    Блок кода
    languagephp
    themeDJango
    {
        "count": 4,
        "data": [
            {
                "Дата": "2023-09-28",
                "Время": "13:00",
                "Row": 2
            },
            {
                "Дата": "2023-09-28",
                "Время": "13:30",
                "Row": 3
            },
            {
                "Дата": "2023-09-28",
                "Время": "14:00",
                "Row": 4
            },
            {
                "Дата": "2023-09-28",
                "Время": "14:30",
                "Row": 5
            }
        ],
        "filter_used": true,
        "filter_headers": "Дата",
        "filter_values": "2023-09-28",
        "msg": "Ok"
    }
    Где:
    Fancy Bullets
    • count: количество Количество заполненных строк в таблице, за исключением заголовков.
    • data: массив Массив информации из таблицы, данные в котором хранятся в формате: "Заголовок": "Значение ячейки", "Row", "Номер строки".


  2. Для того, чтобы получить значение получения значения из ответа в сценарии и сохранить сохранения его в переменную, нужно использовать следующую конструкцию в настройках ветки, выходящей из блока блока Запрос к серверу:
    row = result.data.0.Row 
    В данном примере в переменную row сохраняется номер строки из первого элемента массива data.
    Fancy Bullets
    • result: обозначает Обозначает ответ от сервера.
    • data: массив Массив с информацией из ответа.
    • 0: обозначает Обозначает первый элемент массива, 1 обозначает второй и так далее.
    • Row:  название Название поля из ответа сервера, в котором содержится номер строки.


  3. Далее можно использовать значение переменной, созданной в ветке из блока Запрос к серверу в сценарии по имени переменной {row}
    Image Added

Полезные инструменты

Для упрощения работы с получением информации из ответа сервера, можно использовать бота для форматирования json

...

файлов https://t.me/twin_json_bot

...

.
Этот бот переводит json формат, который используется в ответе от сервера, в строки, которые можно использовать в

...

блоке Запрос к серверу для получения информации из ответа сервера.

Пример ввода в диалоге с данным ботом:

Блок кода
languagephp
themeDJango
titleJSON
{
    "count": 4,
    "data": [
        {
            "Дата": "2023-09-28",
            "Время": "13:00",
            "Row": 2
        },
        {
            "Дата": "2023-09-28",
            "Время": "13:30",
            "Row": 3
        },
        {
            "Дата": "2023-09-28",
            "Время": "14:00",
            "Row": 4
        },
        {
            "Дата": "2023-09-28",
            "Время": "14:30",
            "Row": 5
        }
    ],
    "filter_used": true,
    "filter_headers": "Дата",
    "filter_values": "2023-09-28",
    "msg": "Ok"
}


Пример ответа бота:

Блок кода
languagephp
themeDJango
titleJSON
{
    "count": 4,    \\count    |    result.count
    "data": [    \\data    |    result.data
        {    \\data.0    |    result.data.0
            "Дата": "2023-09-28",    \\data.0.Дата    |    result.data.0.Дата
            "Время": "13:00",    \\data.0.Время    |    result.data.0.Время
            "Row": 2    \\data.0.Row    |    result.data.0.Row
        },
        {    \\data.1    |    result.data.1
            "Дата": "2023-09-28",    \\data.1.Дата    |    result.data.1.Дата
            "Время": "13:30",    \\data.1.Время    |    result.data.1.Время
            "Row": 3    \\data.1.Row    |    result.data.1.Row
        },
        {    \\data.2    |    result.data.2
            "Дата": "2023-09-28",    \\data.2.Дата    |    result.data.2.Дата
            "Время": "14:00",    \\data.2.Время    |    result.data.2.Время
            "Row": 4    \\data.2.Row    |    result.data.2.Row
        },
        {    \\data.3    |    result.data.3
            "Дата": "2023-09-28",    \\data.3.Дата    |    result.data.3.Дата
            "Время": "14:30",    \\data.3.Время    |    result.data.3.Время
            "Row": 5    \\data.3.Row    |    result.data.3.Row
        }
    ],
    "filter_used": true,    \\filter_used    |    result.filter_used
    "filter_headers": "Дата",    \\filter_headers    |    result.filter_headers
    "filter_values": "2023-09-28",    \\filter_values    |    result.filter_values
    "msg": "Ok"    \\msg    |    result.msg
}

Напротив каждой строки есть комментарии.
Нас интересуют комментарии, в которых в начале написано слово result, именно так и нужно будет записать значение переменной, присваиваемой в блоке Запрос к серверу.