Важно
Для использования api таблица должна быть либо открыта для "всех, у кого есть ссылка", либо если нет такой возможности, то для пользователя twin-gsheets@gspread-restapi.iam.gserviceaccount.com
Возможные ошибки и их решение описаны в этой статье
В сценарии может понадобиться возможность добавлять значения в одну строку гугл таблиц несколько раз подряд, например, в начале бот записывает номер в первую ячейку строки, а далее записывает информацию в последующие ячейки этой же строки.
Для реализации такого способа заполнения таблицы, можно следовать этим шагам:
- В начале сценария в блоке Результат, создаём переменную 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