从 google doc 到 MySQL 数据库的自动数据上传 - 如何在 google 脚本中隐藏数据库凭据

Posted

技术标签:

【中文标题】从 google doc 到 MySQL 数据库的自动数据上传 - 如何在 google 脚本中隐藏数据库凭据【英文标题】:automated data upload from google doc to MySQL database - how to hide the database credentials in the google script 【发布时间】:2020-01-07 12:32:42 【问题描述】:

我有一项重复性的任务,就是将数据从 google doc 上传到 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);

根据 Google 的文档,我也可以使用 JDBC 来做相反的事情。还没有尝试过,但应该也可以正常工作。

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

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

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

你能想出一个聪明的方法来隐藏脚本,这样就看不到凭据了吗?任何其他方式也将受到高度赞赏。

【问题讨论】:

【参考方案1】:

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

要隐藏凭据,您有以下几种选择:

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

【讨论】:

感谢您的回答!选项 3 对我来说可能是最简单的:-)

以上是关于从 google doc 到 MySQL 数据库的自动数据上传 - 如何在 google 脚本中隐藏数据库凭据的主要内容,如果未能解决你的问题,请参考以下文章

从 BigQuery 导出到 MySQL 时出错

使用 Zend Gdata 从 Google Docs 中删除文档

使用 Spring Boot 显示从 MySQL 到 Thymeleaf 的文件(pdf、doc、ppt)

如何从附加到 Google Docs View 的 android 文件路径中打开 .pdf 文件

将数据从 MySQL 复制到 Google BigQuery

从Txt,PDf,Google云端硬盘中的Doc文件中提取电子邮件地址