我的重复任务是将数据从Google文档上传到MySQL数据库。现在它的手册,我想使其自动化..
为了将数据从数据库中提取到google doc中,我通常使用以下方法,然后将数据粘贴到其中一个工作表中-效果很好。
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
不过,这是我的问题:每个人都可以打开脚本编辑器并查看代码(包括凭据)。
对于从数据库中拉取数据是可以的,因为用户将仅具有读取权限,而我对公司内部的这些权限并不太保密。但是为了将数据推送到数据库中,用户必须具有写权限,因此我显然不能共享它们。
您能想到一种隐藏脚本的聪明方法吗?这样做的任何其他方式也将受到高度赞赏。
最佳答案
具有Google表格/文档/幻灯片的编辑权限的任何人始终对其所有绑定脚本项目都具有查看和编辑权限。
要隐藏凭据,您有几种选择:
使用PropertiesService为自己设置一些user-specific properties(然后在创建新脚本版本或其他人打开脚本编辑器之前,删除编写的一次性功能以将凭据填充到用户属性中)。
创建一个独立的脚本,该脚本使用openById
来访问包含要上传数据的电子表格(并在需要时更改ID)。不要与不应访问凭据的任何人共享此独立脚本。
创建一个私人发布的GSuite加载项,该加载项在上载之前会进行一些身份检查,但允许阅读,然后将此加载项安装到必要的电子表格中。