У меня есть скрипт Google, настроенный для получения данных из базы данных mySQL. Сценарий настраивается путем первого определения переменных для учетных данных доступа. Пример:
var host = '123.45.67.89';
var user = 'username';
var password = 'password';
var port = '3306';
Моя проблема: эти учетные данные могут измениться. Если они меняются, мне придется менять их в каждом сценарии, в каждой электронной таблице, в которой они используются.
Я думаю, что решение состоит в том, чтобы настроить скрипт для использования в качестве библиотеки, единственной целью которой является определение этих переменных. Итак, весь этот скрипт будет:
function setCredentials() {
var host = '123.45.67.89';
var user = 'username';
var password = 'password';
var port = '3306';
}
И как только он будет настроен как библиотека, сохраненная как «DBCredentials», я настрою каждый скрипт захвата SQL так, чтобы он просто вызывал эти переменные из этой библиотеки. Но я не могу заставить его работать. Я уверен, что мне просто не хватает правильного способа вызова переменной из библиотеки, но мне не повезло найти ответ с помощью Google.
Я нашел это:
Определение глобальных переменных в скрипте Google Apps, которые можно использовать в нескольких проектах
В соответствии с этим я бы назвал переменную с помощью:
var host = SpreadsheetApp.openById( DBCredentials.host );
Но когда я это делаю, я получаю сообщение об ошибке "Bad value".
Я также попробовал:
var user = DBCredentials.user;
Но это тоже не работает. Сценарий запустится, но проверка журналов доступа показывает, что пользователь с именем «undefined» пытался получить доступ к базе данных.
Как правильно вызывать переменную из скрипта библиотеки?