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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Примечание

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

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

Подсказка

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

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

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

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

    1. {url}: Ссылка на гугл-таблицу.
    2. {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. Для упрощения работы с получением информации из ответа сервера, можно использовать бота для форматирования json файлов https://t.me/twin_json_bot
    Его описание можно найти в этой статье.
    Этот бот переводит json формат, который используется в ответе от сервера в строки, которые можно использовать в блоке Запрос к серверу для получения информации из ответа сервера.

    Пример ввода в диалоге с данным ботом:
    Блок кода
    languagepy
    themeDJango
    titleJSON
    collapsetrue
    {
        "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"
    }

    Пример ответа бота:
    Блок кода
    languagepy
    themeDJango
    titleJSON
    collapsetrue
    {
        "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, именно так и нужно будет записать значение переменной, присваиваемой в блоке Запрос к серверу.