Важно
Для использования api таблица должна быть либо открыта для "всех, у кого есть ссылка", либо если нет такой возможности, то для пользователя twin-gsheets@gspread-restapi.iam.gserviceaccount.com
Возможные ошибки и способы их решения описаны в статье Описание ошибок API гугл-таблиц
В сценарии может понадобиться возможность добавлять значения в одну строку гугл таблиц несколько раз подряд, например, в начале бот записывает номер в первую ячейку строки, а далее записывает информацию в последующие ячейки этой же строки.
Для реализации такого способа заполнения таблицы, следуйте этим шагам:
- В начале сценария в блоке Результат, создаём переменную url, которая будет содержать ссылку на нашу гугл таблицу
- В следующем блоке происходит добавление информации в первую ячейку первой незаполненной строки в таблице при помощи метода добавления строки:
- Тип авторизации: Отсутствует
- Выберите тип запроса: POST
- URL: http://intgr.twin24.io:60061/add_rows?spreadsheet_url={url}
- Тело запроса: Для записи телефона клиента в звонке в первую ячейку таблицы используется конструкция как в примере: data.0.0 = {системные.телефон}
- Далее, чтобы найти нужную строку, в которую в дальнейшем будут добавляться значения, используется метод поиска информации в таблице:
- Тип авторизации: Отсутствует
- Выберите тип запроса: GET
- URL: http://intgr.twin24.io:60061/get_data?spreadsheet_url={url}&worksheet_name=Лист1
В значении worksheet_name используется название нужного листа в таблице, в данном случае Лист1
- В стрелке из блока Запрос к серверу из прошлого шага, сохраняем переменную row, присвоив ей значение result.count
- В следующем блоке нам нужно прибавить единицу к значению переменной {row}, чтобы посчитать также строку, которая содержит заголовки, для этого используется блок Арифметическая операция
- Далее идёт последний блок, в котором обновляются значения нужных ячеек в последней добавленной строке, которую мы получили в прошлом шаге
- Тип авторизации: Отсутствует
- Выберите тип запроса: POST
- URL: http://intgr.twin24.io:60061/update_cells?spreadsheet_url={url}
Тело запроса:- range = B{row}, где:
B: Номер столбца в таблице, в котором надо обновить ячейку, выставляется вручную (В данном примере значение добавляется в ячейку во втором столбце, потому что в первом записан номер телефона клиента)
{row}: Переменная, содержащая номер последней не пустой строки, в которую нам нужно добавить значение - data.0.0: Первое значение для добавления в ячейку в столбце, указанном выше в поле range
- data0.1: Пример для добавления значения в ячейку следующего столбца, например, если data.0.0 добавит значение в ячейку столбца B, то data.0.1 добавит значение в ячейку столбца C
Пример добавления в таблицу по этому запросу:
Ячейка с номером телефона была заполнена на шаге №2, оставшиеся 2 были заполнены по запросу из шага №6