Эта функция доступна на максимальном тарифе.

Содержание

  • Как подготовить Google Таблицу
  • Как написать JSON-запрос
  • Как записывать строки в определенные столбцы
  • Как записывать данные в определенные ячейки
  • Как удалять данные из определенных ячеек
  • Как записать в первую пустую ячейку в строке
  • Как читать данные из таблицы
  • Как найти текст в таблице (вернуть первую подходящую строку)
  • Как вывести все совпадения в таблице
  • Как полностью удалить строку (со смещением)
  • Как полностью удалить столбец (со смещением)
  • Как создать кнопки для выбора листа в таблице
  • Как работать через свой аккаунт
  • Как работать с буквами столбцов
  • Как задавать переменные в именах столбцов
  • Как удалить данные из таблицы
  • Как добавить лист в таблицу
  • Возможные ошибки
  • Функции Google Sheets (API)

В этой статье мы рассмотрим, как боты могут взаимодействовать с Google Таблицами.

Для использования этой функциональности вам понадобятся:

  • Google Таблица с доступом на редактирование по ссылке
  • URL функции
  • Параметры запроса

Как написать JSON-запрос

Перейдите в настройки блока, из которого вы хотите отправить запрос.

Выберите тип запроса POST JSON, введите URL нужной функции и добавьте параметры в поле JSON POST параметры.

Чтобы увидеть ответ, возвращаемый вашим запросом, введите {custom_answer} в поле Ответ, сохраните блок и пройдите по цепочке.

Затем вы можете сохранить отдельные значения из ответа в переменные в поле Сохранить значение из JSON-ответа, используя следующий синтаксис:

parameters_from_query -> your_variable

Если ответ содержит вложенные параметры, извлеките их следующим образом.

Например, если ответ:

{
  "cell_number": {
    "row": 4,
    "col": 2
  }
}

Используйте:

cell_number|row -> Row
cell_number|col -> Column

Теперь давайте более подробно рассмотрим, что боты могут делать с Google Таблицами.

Как записывать строки в определенные столбцы

Вы можете собирать данные от пользователя и записывать их в первую доступную строку в таблице. Это делается с помощью функции mapping.

Заголовок должен быть заполнен — хотя бы одна ячейка в первой строке должна содержать значение.

URL функции:

https://store.mavibot.ai/function/gsheets

Параметры запроса:

{
  "id": "table id",
  "mapping": {
    "a": "#{variable}",
    "b": "#{yet}",
    "c": "#{yet}",
    "d": "just text"
  }
}

Если вы хотите записать данные на лист, отличный от первого, добавьте параметр list_name:

{
  "id": "table id",
  "mapping": {
    "a": "just text",
    "b": "#{variable}"
  },
  "list_name": "Sheet name"
}

Где:

  • id — идентификатор вашей Google Таблицы. Вы можете получить его из URL Google Таблицы.
  • a, b, c, d — имена столбцов.
  • list_name — имя листа, например "Sheet 2".

Пример URL Google Таблицы:

https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0

В этом примере идентификатор таблицы:

1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4

Если запрос выполнен успешно, ответ будет выглядеть так:

{
  "number_row": 8
}

Вы можете сохранить возвращенный номер строки и использовать его позже.

Если вы не хотите делать таблицу публично редактируемой по ссылке, вам нужно передать параметр creds_path с путем к вашему файлу авторизации.

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

Пример:

{
  "id": "table id",
  "mapping": {
    "a": "#{variable}",
    "b": "#{yet}",
    "c": "#{yet}",
    "d": "just text"
  },
  "creds_path": "path to your authorization data file"
}

Как записывать данные в определенные ячейки

URL функции:

https://store.mavibot.ai/function/gsheets

Параметры запроса:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{yet}",
    "d20": "just text"
  }
}

Данные записываются в указанные ячейки — в этом примере: A1, B3, C1 и D20.

Нумерация столбцов начинается с 1.

Если вы хотите записать данные на лист, отличный от первого, добавьте параметр list_name:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{yet}",
    "d20": "just text"
  },
  "list_name": "Sheet name"
}

Если запрос выполнен успешно, параметры не возвращаются.

Если вы не хотите делать таблицу публично редактируемой по ссылке, передайте параметр creds_path с путем к вашему файлу авторизации.

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

Пример:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{more}",
    "d20": "just text"
  },
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}

Как удалять данные из определенных ячеек

URL функции:

https://store.mavibot.ai/function/gsheets

Параметры запроса:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ]
}

Это удаляет значения из указанных ячеек — в этом примере: A1, B3 и C2.

Нумерация столбцов начинается с 1.

Если вы хотите удалить значения из ячеек на листе, отличном от первого, добавьте параметр list_name:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ],
  "list_name": "Sheet name"
}

Если запрос выполнен успешно, параметры не возвращаются.

Если вы не хотите делать таблицу публично редактируемой по ссылке, передайте параметр creds_path с путем к вашему файлу авторизации.

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

Пример:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ],
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}

Как записать в первую пустую ячейку в строке

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

Это делается с помощью функции append_in_row.

URL функции:

https://store.mavibot.ai/function/gsheets

Параметры запроса:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value"
}

Если вы хотите записать данные в строку на листе, отличном от первого, добавьте параметр list_name:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value",
  "list_name": "Sheet name"
}

Где:

  • id — идентификатор вашей Google Таблицы.
  • append_in_row — номер строки, в которую должно быть записано значение.
  • value — значение, которое будет записано в ячейку.
  • list_name — имя листа.

Если запрос выполнен успешно, ответ будет выглядеть так:

{
  "number_col": 10,
  "col_name": "J3"
}

Вы можете сохранить возвращенные значения и использовать их позже.

Если вы не хотите делать таблицу публично редактируемой по ссылке, передайте параметр creds_path с путем к вашему файлу авторизации.

Пример:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value",
  "creds_path": "path to your authorization data file"
}

Как читать данные из таблицы

URL функции:

https://store.mavibot.ai/function/gsheets

Параметры запроса:

{
  "id": "table id",
  "read": {
    "a1": "a1",
    "b3": "b4",
    "c1": "c10",
    "d20": "a1"
  }
}

Используйте параметр read, чтобы указать диапазоны, которые вы хотите получить.

Например:

  • "a1": "a1" возвращает одну ячейку.
  • "c1": "c10" возвращает 10 значений из столбца C.

Ответ содержит адреса ячеек и их значения.

Нумерация столбцов начинается с 1.

Если вы хотите прочитать значения с листа, отличного от первого, добавьте параметр list_name:

{
  "id": "table id",
  "read": {
    "a1": "a3",
    "b3": "b6"
  },
  "list_name": "Sheet name"
}

Если запрос выполнен успешно, ответ будет содержать имена ячеек и их значения.

Пример:

{
  "A1": "value 1",
  "A2": "value 2",
  "A3": "value 3"
}

Если вы не хотите делать таблицу публично редактируемой по ссылке, передайте параметр creds_path с путем к вашему файлу авторизации.

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

Пример:

{
  "id": "table id",
  "read": {
    "a1": "a3",
    "b3": "b6"
  },
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}