- Распечатать
Коннектор Google Sheets
Введение
Google Sheets API позволяет пользователям создавать, читать и редактировать Google Sheets, имея соответствующий доступ к своим учетным записям google. Цель данного коннектора - использовать Oauth 2.0 в Tulip для интеграции с Google Sheets с помощью HTTP-коннекторов и предоставить нашим клиентам готовый коннектор, который можно импортировать в их экземпляр.
Назначение
- Мы рассмотрим различные функции HTTP-коннектора, которые могут быть построены путем выполнения HTTP-вызовов к конечным точкам Google Sheets API(v4) для взаимодействия с таблицей Google, чтобы опробовать различные действия чтения и записи в таблицу, которые могут быть использованы для различных случаев использования.
Документ API
Предварительные требования
- Создайте учетную запись в облачной консоли Google и настройте учетные данные OAuth 2.0. Дополнительную информацию можно найти в документации Google по API.
- Добавьте URL-адрес перенаправления экземпляров в облачной консоли Google.
Детали подключения Tulip
Для коннекторов Tulip необходимо настроить следующую информацию.
- Running On: Cloud Connector Host
- Хост:sheets.googleapis.com
- Порт:443
- TLS: Да
- OAuth 2(Admin): Аутентификация будет передана всем функциям коннектора
Функции коннектора
Google Новая электронная таблица
Назначение
- Пользователи могут передать имя электронной таблицы и SheetName в качестве входных данных, и Tulip создаст новую электронную таблицу с указанным именем листа. В ответ на запрос API будут получены метаданные и различные свойства электронной таблицы, которые в дальнейшем могут быть использованы в качестве фильтров для получения и обновления данных из электронных таблиц.
- Информация, полученная из Google sheets V4 API, может быть использована в приложениях Tulip, таблицах Tulip или переменных Tulip, которые будут переданы в другие функции коннектора.
Конечная точка
HTTP POST вызов конечной точки https://sheets.googleapis.com/v4/spreadsheets.
Требуемые входные данные
Ниже перечислены параметры, которые передаются в теле запроса
- SpreadSheet Name - название электронной таблицы
- Sheet Name - начальный заголовок листа
Экстрактор выходных данных
- Электронная таблица: Уникальный идентификатор электронной таблицы, которая будет использоваться для выполнения других задач
- URL электронной таблицы: URL-адрес вновь созданной электронной таблицы
Google Получить данные электронной таблицы
Назначение
Этот коннектор получает данные из указанной электронной таблицы (spreadsheetId) в заданном диапазоне. Данные будут предоставлены в виде массива строк или столбцов в зависимости от параметров запроса, переданных функции коннектора.
Конечная точка
HTTP GET вызов конечной точки -https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}
Требуемый ввод
Ниже перечислены параметры URL, которые необходимо передать
- Id электронной таблицы
- Диапазон - Строка в [A1 формате](https://developers.google.com/sheets/api/guides/concepts
a1_notation)
Дополнительные параметры запроса, которые будут передаваться из функций коннектора, следующие
- majorDimension : ROWS или COLUMNS определяет, каким должен быть внутренний массив данных
- dateTimeRenderOption задает формат полей DateTime значение по умолчанию:FORMATTED_STRING
- valueRenderOption определяет, должны ли данные быть отформатированы или не отформатированы в ответе значение по умолчанию: ФОРМАТИРОВАННОЕ_ЗНАЧЕНИЕ
Экстрактор вывода
- Значения: Это массив массивов, каждая строка данных будет представлять собой массив.
Google SpreadSheet InsertRow
Назначение
Добавляет значения в электронную таблицу. Диапазон ввода используется для поиска существующих данных и нахождения "таблицы" в пределах этого диапазона. Значения будут добавлены в следующую строку таблицы, начиная с первого столбца таблицы. Коннектор принимает spreadsheetId, Range и список значений, которые необходимо вставить в ячейки.
Конечная точка
HTTP POST вызов конечной точки -https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append
Требуемый ввод
Ниже перечислены параметры запроса, которые необходимо передать
- Идентификатор электронной таблицы
- Диапазон
- Значения: для данного коннектора мы рассмотрели 8 значений столбцов, каждый параметр назван в соответствии с тем столбцом, в который он будет вставлен. Это будет передано в API в виде массива значений.
Дополнительные параметры запроса, которые будут передаваться из функций коннектора, следующие:
- valueInputOption: Это обязательное поле, которое будет передаваться из коннектора, значение по умолчанию: USER_ENTERED
Выходной экстрактор
- spreadsheetId
- UpdatedRows: Указывает количество вставленных строк
Очистка электронной таблицы Google
Назначение
Очищает значения из электронной таблицы. Вызывающая сторона должна указать идентификатор электронной таблицы и диапазон. Очищаются только значения - все остальные свойства ячейки (такие как форматирование, проверка данных и т.д.) сохраняются. Коннектор принимает идентификатор электронной таблицы (spreadsheetId), диапазон (Range) и список значений, которые должны быть вставлены в ячейки.
Конечная точка
HTTP POST вызов конечной точки -https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:clear
Необходимые входные данные
Ниже перечислены параметры запроса, которые необходимо передать
- ID электронной таблицы
- Диапазон
Google Получить сведения об электронной таблице по фильтру
Назначение
Этот коннектор получает детали электронной таблицы с указанным идентификатором электронной таблицы (spreadsheetId) и определенным условием, заданным в фильтре данных.
Конечная точка
HTTP POST вызов конечной точки -https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:getbyDataFilter
Необходимые входные данные
Ниже перечислены параметры запроса, которые необходимо передать
- spreadSheetId
- includeGridData: Значение по умолчанию - False
Следующие параметры передаются как часть тела запроса в формате JSON
- gridRange
Выходные экстракторы
- spreadSheetId
- Заголовок
- Локаль
- автоматический пересчёт
- timeZone
- sheetId
- sheetTitle
- sheetType
- sheetRowCount
- sheetColumnCount
- spreadSheetUrl
Существуют и другие параметры, которые могут быть включены в выходные данные в зависимости от конкретного случая использования.
Google Получение пакетных данных
Назначение
Этот коннектор получает данные из электронной таблицы, указанной в идентификаторе. Данные будут предоставлены в виде массива строк или столбцов в соответствии с параметрами запроса, предоставленными коннектору.
Конечная точка
HTTP GET вызов конечной точки -https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchGet
Требуемый ввод
Ниже перечислены параметры запроса, которые необходимо передать
- Id электронной таблицы
- Range - Строка в формате [A1Format](https://developers.google.com/sheets/api/guides/concepts
a1_notation)
Дополнительные параметры запроса, которые будут передаваться из функций коннектора, следующие
- majorDimension : ROWS или COLUMNS определяет, каким должен быть внутренний массив данных
- dateTimeRenderOption задает формат полей DateTime значение по умолчанию:FORMATTED_STRING
- valueRenderOption определяет, должны ли данные быть отформатированы или не отформатированы в ответе значение по умолчанию:FORMATTED_VALUE
Экстрактор вывода
- valueRanges: Это массив объектов. Каждый объект описывает один диапазон
Фильтр Google Get Batch Data
Назначение
Этот коннектор будет получать данные из электронной таблицыId, указанной в заданном условии фильтрации, в виде пакета данных. Данные будут представлены в виде массива строк или столбцов в зависимости от параметров запроса, заданных коннектору.
Конечная точка
HTTP POST вызов конечной точки -https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter
Требуемые входные данные
Ниже перечислены параметры запроса, которые необходимо передать
- Ид электронной таблицы
Дополнительные параметры тела запроса, которые будут передаваться из функций коннектора
- Datfilters
- majorDimension : ROWS или COLUMNS определяет, каким должен быть внутренний массив данных
- dateTimeRenderOption задает формат полей DateTime значение по умолчанию:FORMATTED_STRING
- valueRenderOption определяет, должны ли данные быть отформатированы или не отформатированы в ответе значение по умолчанию: ФОРМАТИРОВАННОЕ_ЗНАЧЕНИЕ
Экстрактор вывода
- valueRanges: Это массив объектов. Каждый объект описывает один диапазон