GoogleSheets
Действие GoogleSheets
позволяет работать с данными Google Таблиц из сценария бота.
Чтобы воспользоваться тегом, сперва создайте в JAICP интеграцию с Google Таблицами.
Как создать интеграцию
- Авторизуйтесь в JAICP и выберите нужный проект.
- На панели управления нажмите Каналы, затем Создать интеграцию → Google Таблицы.
- Выберите нужный аккаунт и предоставьте доступы для jaicp.com.
На странице Каналы у вас появится новая интеграция с Google Таблицами.
$integration
.Параметры
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
operationType | Строка | Тип действия. Возможные значения: • readDataFromCells — получить данные из ячеек. • writeDataToCells — сохранить данные в ячейки. • writeDataToLine — сохранить данные в строку. • deleteRowOrColumn — удалить содержимое ячейки. • clearCellData — удалить строку или столбец. | Да |
integrationId | Строка | Идентификатор интеграции c Google Таблицами. Можно посмотреть на странице Каналы в блоке Интеграции. | Да |
spreadsheetId | Строка | Идентификатор таблицы. Его можно узнать из адресной строки браузера, открыв нужную таблицу: https://docs.google.com/spreadsheets/d/<id>/edit | Да |
sheetName | Строка | Название листа таблицы. | Да |
body | Объект | Координаты ячеек или значения для записи в таблицу. Формат значения зависит от типа действия из параметра operationType . | Да |
okState | Строка | Стейт, в который перейдет диалог, если сценарий тега будет выполнен без ошибок. | Нет |
errorState | Строка | Стейт, в который перейдет диалог, если сценарий тега будет выполнен с ошибкой: например, если вы укажете недопустимые значения параметров. | Нет |
Типы действий
readDataFromCells
Действие readDataFromCells
позволяет получить данные из ячеек.
В параметре body
передайте массив объектов с полями:
-
cell
— координаты ячейки. -
varName
— имя переменной. Данные из ячейки будут сохранены в$session.<varName>
.предупреждениеВ значенииvarName
используйте символы Aa–Zz, _, 0–9. Первым символом в имени должна быть буква. Нельзя использовать зарезервированные слова JavaScript.
body =
[
{
"varName": "firstName",
"cell": "B1"
},
{
"varName": "age",
"cell": "B3"
}
]
writeDataToCells
Действие writeDataToCells
сохраняет данные в ячейки.
В параметре body
передайте массив объектов с полями:
-
cell
— координаты ячейки. -
values
— массив значений для записи в ячейку.подсказкаЕсли вы передаете вvalues
больше одного значения, второе и последующие значения запишутся в столбцы, следующие за нужной ячейкой.
body =
[
{
"cell": "B1",
"values": ["Николаевич", "78121770707"]
},
{
"cell": "C1",
"values": ["{{$session.firstName}}"]
}
]
writeDataToLine
Действие writeDataToLine
сохраняет данные в начало первой строки с необходимым количеством свободных ячеек.
Уже существующие в таблице данные не перезаписываются — к ним добавляются новые.
В параметре body
передайте объект с полем values
.
Оно должно содержать массив значений для записи в строку, например:
body = {"values": ["Василий", "Андреев", "Юрьевич", "45"]}
Для таблицы ниже данные из примера будут добавлены в шестую строку, поскольку в четвертой и пятой строках не хватает свободных ячеек.
deleteRowOrColumn
Действие deleteRowOrColumn
удаляет из таблицы строку, столбец или диапазон ячеек.
При удалении строки данные смещаются вверх, а при удале нии столбца — влево.
В параметре body
передайте объект с полем values
.
Оно должно содержать массив диапазонов ячеек, которые нужно удалить:
Что удалить | Как указать диапазон |
---|---|
Строка | n:n , где n — номер удаляемой строки. |
Столбец | A:A , где A — буква удаляемого столбца. |
Несколько строк подряд | n:m , где n — первая удаляемая строка, а m — последняя. |
Несколько столбцов подряд | A:C , где A — первый удаляемый столбец, а C — последний. |
body = {"values": ["B:E", "2:8"]}
clearCellData
Действие clearCellData
удаляет содержимое отдельных ячеек или их диапазона.
Строки и столбцы таблицы при этом не смещаются.
В параметре body
передайте объект с полем values
.
Оно должно содержать массив диапазонов ячеек, которые нужно очистить:
Что очистить | Что указать |
---|---|
Ячейка | Координаты ячейки, например B7 . |
Диапазон ячеек | Диапазон в формате A3:C6 , где A3 — верхняя левая ячейка, а C6 — нижняя правая. |
body = {"values": ["A3:C6", "D4"]}
Использование в сценарии
- Получение данных из таблицы.
state: GetContact
script:
$client.row = "123";
GoogleSheets:
operationType = readDataFromCells
integrationId = 34338a54-ii30-9ffa-i6e2-b1b94b8778ob
spreadsheetId = 66tavVasb2b1agpFuvfnMjqD6GpUJ1Hc4ubiUHwQXh8
sheetName = Список контактов
body =
[
{
"varName": "firstName",
"cell": "B{{$client.row}}"
},
{
"varName": "lastName",
"cell": "C{{$client.row}}"
}
]
okState = /GetContact/Verify
state: Verify
a: Вас зовут {{$session.firstName}} {{$session.lastName}}?
- Удаление данных из таблицы.
state: DeleteData
GoogleSheets:
operationType = deleteRowOrColumn
integrationId = 34338a54-ii30-9ffa-i6e2-b1b94b8778ob
spreadsheetId = 66tavVasb2b1agpFuvfnMjqD6GpUJ1Hc4ubiUHwQXh8
sheetName = Данные по отгрузке
body = {"values": ["1:7", "B:K"]}