首页 > 解决方案 > 从 google doc 到 MySQL 数据库的自动数据上传 - 如何在 google 脚本中隐藏数据库凭据

问题描述

我有一项重复性的任务,就是将数据从谷歌文档上传到 MySQL 数据库。它的手册现在,我想自动化它..

为了将数据库中的数据提取到谷歌文档中,我通常使用下面的内容,然后将数据粘贴到其中一张表中——效果很好。

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

根据谷歌的文档,我也可以使用 JDBC 来做这件事。尚未尝试过,但也应该可以正常工作。

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

不过,这是我的问题:每个人都可以打开脚本编辑器并查看代码(包括凭据)。

从数据库中提取没关系,因为用户只有阅读权限,而且我对公司内部的这些内容并不太保密。但是要将数据推送到数据库中,用户必须具有写入权限,因此我显然无法共享它们..

你能想出一种巧妙的方法来隐藏脚本以使凭据不可见吗?任何其他这样做的方式也将受到高度赞赏。

标签: mysqlgoogle-apps-scriptjdbc

解决方案


对 Google 表格/文档/幻灯片拥有编辑权限的任何人都将始终拥有对其所有绑定脚本项目的查看和编辑权限。

要隐藏凭据,您有几个选项:

  1. 使用 PropertiesService 为您自己设置一些特定于用户的属性(然后在创建新脚本版本或其他人打开脚本编辑器之前删除您编写的一次性函数以将凭据填充到您的用户属性中)。
  2. 创建一个独立脚本,用于openById访问包含要上传数据的电子表格(并在必要时更改 ID)。不要与不应访问凭据的任何人共享此独立脚本。
  3. 创建一个私人发布的 GSuite 插件,在上传之前执行一些身份检查,否则允许阅读,并将此插件安装到必要的电子表格中。

推荐阅读