Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| product:api:integration_examples:google_sheets [07.04.2025 08:59] – ekaterina.menkhuzina | product:api:integration_examples:google_sheets [08.04.2025 10:27] (текущий) – ekaterina.menkhuzina | ||
|---|---|---|---|
| Строка 2: | Строка 2: | ||
| Google предоставляет множество сервисов для совместной работы с документами распространённых офисных форматов. В их числе - **Google Sheets**, облачный редактор электронных таблиц, | Google предоставляет множество сервисов для совместной работы с документами распространённых офисных форматов. В их числе - **Google Sheets**, облачный редактор электронных таблиц, | ||
| - | В некоторых | + | Если требуется |
| - | + | ||
| - | Если передавать данные требуется регулярно, можно автоматизировать этот процесс. Для этого | + | |
| Шаги, которые надо выполнить для автоматизации передачи информации из ADVANTA в таблицы Google Sheets: | Шаги, которые надо выполнить для автоматизации передачи информации из ADVANTA в таблицы Google Sheets: | ||
| - | - Зарегистрировать «сервисный аккаунт» в системе «Google Cloud Console» для вызова | + | - Зарегистрировать «сервисный аккаунт» в системе «Google Cloud Console» для вызова API и получить «ключ доступа» к нему. |
| - Настроить доступ к файлу электронной таблицы в Google Sheets для связанной с «сервисным аккаунтом» учётной записи. | - Настроить доступ к файлу электронной таблицы в Google Sheets для связанной с «сервисным аккаунтом» учётной записи. | ||
| + | - Настроить в ADVANTA LINQ-запрос, | ||
| + | - Написать приложение, | ||
| - | Также ниже рассмотрены примеры двух максимально простых приложений на C#, которые получают данные из ADVANTA и записывают их в таблицы Google. На основе этих примеров Вы можете создавать собственные приложения для решения задач по автоматизации передачи данных из ADVANTA в облачные сервисы Google. | + | Ниже рассмотрены примеры двух максимально простых приложений на C#, которые получают данные из ADVANTA и записывают их в таблицы Google. На основе этих примеров Вы можете создавать собственные приложения для решения задач по автоматизации передачи данных из ADVANTA в облачные сервисы Google. |
| + | |||
| + | <image shape=" | ||
| ===== Общие сведения об API сервисов Google ===== | ===== Общие сведения об API сервисов Google ===== | ||
| Строка 34: | Строка 36: | ||
| ==== Подключение к «проекту» библиотеки API Google Sheets ==== | ==== Подключение к «проекту» библиотеки API Google Sheets ==== | ||
| + | Для подключения к созданному проекту библиотеки API-функций Google Sheets необходимо перейти в раздел «APIs & Services» по кнопке под названием проекта. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Затем необходимо открыть список библиотек кнопкой «Enable APIs and services». | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | В поле поиска ввести «Sheets», нажать **Enter** и выбрать найденную библиотеку «Google Sheets API». Включить библиотеку кнопкой **Enable**. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Библиотека появится в проекте, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Создание сервисного аккаунта Google для доступа к API «проекта» ==== | ||
| + | Для создания сервисного аккаунта Google необходимо в разделе «Credentials» вызвать меню «Create credentials > Service account». | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Далее на странице «Create service account» ввести название аккаунта в поле «Service account name» и описание в поле «Service account description». Система автоматически заполнит поле «Service account ID». Для продолжения настройки нажать «Create and continue». | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | На странице «Grant this service account access to project» в выпадающем списке «Role» выбрать роль «Basic / Editor». | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Для перехода к следующему шагу нажать **Continue**. | ||
| + | |||
| + | В разделе «Grant users access to this service account» ничего вводить не нужно. Нажать **Done**, чтобы завершить создание сервисного аккаунта. Сервисный аккаунт будет создан и появится в поле «Service account». Адрес электронной почты этого сервисного аккаунта нужно будет указать далее при настройке доступа к Google-таблице. | ||
| + | |||
| + | ==== Создание ключа доступа к сервисному аккаунту ==== | ||
| + | Теперь нужно создать ключ для доступа к сервисному аккаунту из программы, | ||
| + | |||
| + | Перейти по ссылке с именем аккаунта в разделе «Service Accounts»: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | На странице настроек аккаунта нужно перейти на вкладку «Keys» и вызвать команду создания нового ключа через меню «Add key / Create new key». | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | По запросу о типа ключа выбрать '' | ||
| + | |||
| + | Полученный файл нужно сохранить на диске и изменить его название на «service-account.json». Далее он потребуется при создании кода приложения. Пример структуры файла «service-account.json»: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | ===== Настройка доступа в Google-таблице ===== | ||
| + | В Google-таблице, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | В поле email-адреса необходимо ввести адрес почты сервисной учётной записи. Его можно найти в JSON-файле с данными авторизации, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Система предложит указать уровень доступа – нужно выбрать «Редактор». Опцию «Уведомить пользователей» можно отключить и нажать «Открыть доступ». | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | После сохранения настроек доступа, | ||
| + | |||
| + | ===== Примеры программного кода ===== | ||
| + | |||
| + | ==== Общие сведения о примерах ==== | ||
| + | К инструкции прилагаются два примера кода, созданные в [[https:// | ||
| + | * {{ : | ||
| + | * {{ : | ||
| + | |||
| + | Общий алгоритм работы примеров кода одинаков: | ||
| + | - Проверяется доступ к Google-таблице, | ||
| + | - Проводится авторизация в ADVANTA. | ||
| + | - Выполняется запрос списка объектов с помощью заранее настроенного в ADVANTA [[product: | ||
| + | - Выполняется очистка Google-таблицы от всех данных. | ||
| + | - Список объектов записывается в Google-таблицу. | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | ==== Подготовка LINQ-запроса в ADVANTA ==== | ||
| + | Для выгрузки списка объектов воспользуемся [[product: | ||
| + | |||
| + | <code csharp> | ||
| + | var projects = dataContext.Projects | ||
| + | .Where(p => p.Name != null) | ||
| + | .OrderBy(p => p.CreationDate) | ||
| + | .Select(p => new { | ||
| + | p.Id, | ||
| + | p.Name, | ||
| + | //p.Code, | ||
| + | }); | ||
| + | return projects; | ||
| + | </ | ||
| + | |||
| + | Необходимо убедиться, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Далее необходимо перейти на страницу запроса кликом по названию, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ==== Как запустить примеры кода ==== | ||
| + | |||
| + | === Подготовка каталога для примеров === | ||
| + | С помощью Проводника Windows необходимо создать на диске каталог '' | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | === Запуск примера «ExportToGoogleSheet1Libs» (с библиотеками Google) === | ||
| + | Необходимо запустить [[https:// | ||
| + | |||
| + | Содержащийся в каталоге код откроется в [[https:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Прежде, | ||
| + | |||
| + | 1. Адрес сервера ADVANTA, логин и пароль пользователя, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | 2. Имя ключа LINQ-запроса и количество объектов, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | 3. Далее нужно заменить в каталоге с кодом файл " | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Также нужно зарегистрировать дополнительный '' | ||
| + | <code csharp> | ||
| + | < | ||
| + | <None Update=" | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | 4. Далее указать идентификатор Google-таблицы, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | **Идентификатор** - часть адреса страницы с таблицей, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Перед запуском примера необходимо обязательно сохранить изменения. После этого можно запускать решение. Для запуска служат команды справа на панели закладок [[https:// | ||
| + | |||
| + | Работа с примером {{ : | ||
| + | <callout type=" | ||