Автоматическая загрузка данных из базы данных Google Do c в MySQL - как скрыть учетные данные базы данных в скрипте Google - PullRequest
0 голосов
/ 07 января 2020

У меня есть повторяющаяся задача загрузки данных из Google Do c в базу данных MySQL. Это руководство прямо сейчас, и я хотел бы его автоматизировать.

Для извлечения данных из базы данных в Google Do c Я обычно использую приведенное ниже, а затем вставляю данные в один из листов - работает отлично.

Jdbc.getConnection('jdbc:mysql://host:port/', user, password);
var stmt = conn.createStatement();
stmt.setMaxRows(1000);
var start = new Date();
var rs = stmt.executeQuery(exq);

Согласно документации Google, я могу использовать JDB C для выполнения других действий. Еще не пробовал, но должно работать отлично.

https://developers.google.com/apps-script/guides/jdbc

Вот моя проблема, хотя : каждый может открыть редактор сценариев и посмотрите код (включая учетные данные).

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

Можете ли вы придумать умный способ скрыть сценарий, чтобы кредиты не могли быть видны ? Любой другой способ сделать это также будет высоко оценен.

1 Ответ

3 голосов
/ 07 января 2020

Любой, у кого есть доступ для редактирования к Google Sheet / Do c / Slide, будет всегда иметь доступ к просмотру и редактированию всех связанных проектов скриптов.

Чтобы скрыть учетные данные, у вас есть несколько вариантов:

  1. Используйте PropertiesService, чтобы настроить некоторые пользовательские c свойства для себя (а затем удалите разовую функцию, которую вы написали, чтобы заполнить учетные данные в Ваши пользовательские свойства до создания новой версии скрипта или когда кто-то еще открывает редактор скриптов).
  2. Создайте автономный сценарий, который использует openById для доступа к электронной таблице с данными для загрузки (и изменения идентификатора при необходимости). Не передавайте этот автономный сценарий тем, у кого нет доступа к учетным данным.
  3. создайте частную надстройку GSuite, которая выполняет некоторые проверки личности перед загрузкой, но в противном случае разрешает чтение и установку этого надстройки. в необходимые таблицы.
...