我使用以下谷歌应用脚本代码来更改文档属性。我有3个不同的脚本文件连接到dev,test和live mysql数据库。由于这些google工作表在开发环境中成功执行后与许多用户共享,我删除了set properties部分,因此没有人能看到连接字符串的详细信息。但我遇到的问题是当我运行连接到测试环境的脚本时,属性值中有dev connectionstring。请与我分享想法,使其适用于所有三种环境。
cv.readImage("./files/mona.png", function(err, im){
if (err) throw err;
if (im.width() < 1 || im.height() < 1) throw new Error('Image has no size');
im.detectObject("../data/haarcascade_frontalface_alt.xml", {}, function(err, faces){
if (err) throw err;
for (var i = 0; i < faces.length; i++){
var face = faces[i];
im.ellipse(face.x + face.width / 2, face.y + face.height / 2, face.width / 2, face.height / 2);
}
im.save('./tmp/face-detection.png');
console.log('Image saved to ./tmp/face-detection.png');
});
});
//
// Script file 1
// Database credentials dev
//
dbmysqlconndev = PropertiesService.getDocumentProperties();
dbmysqlconndev.setProperties({
'mysqlUrl': 'jdbc:mysql://dbserverdev;databaseName=sample',
'mysqlUser': 'username',
'mysqlPassword': 'password'});
var keys = dbmysqlconndev.getKeys();
for (var i = 0; i < keys.length; i++) {
dbmysqlconndev.getProperty(keys[i]);
}
var url = dbmysqlconndev.getProperty(keys[0]);
var user = dbmysqlconndev.getProperty(keys[1]);
var password = dbmysqlconndev.getProperty(keys[2]);
function delProperty()
{
var userProperties = PropertiesService.getUserProperties();
userProperties.deleteProperty('mysqlUrl');
}