Ответ 1
Свойства - это не общий ресурс; каждый script имеет свой собственный набор свойств, которые не используются совместно с другими скриптами. Такое поведение влияет на то, как вы можете обрабатывать свойства в библиотеке, как описано в Scope Resource.
Не разделяемый ресурс означает, что как библиотека, так и включенный script имеют встроенный доступ только к их экземпляру ресурса. Однако библиотека может обеспечить доступ к своим не общим ресурсам, используя явные функции, которые работают с ними.
Иными словами; не-общие свойства библиотеки могут быть открыты для основных функций script по библиотекам.
Эта функция может использоваться для настройки рабочих параметров для функции запуска библиотеки:
/**
* Set name,value pairs of parameters for library function.
*
* @param {Object} parameters Object with named properties to be
* used as library function parameters.
*/
function setParameters( parameters ) {
var props = PropertiesService.getUserProperties();
for (var key in parameters) {
var value = parameters[key];
props.setProperty(key, value);
}
}
Вы бы использовали его следующим образом:
function startOnce(){
var uProps = {
'Maker':'Honda',
'Number':'US-xxx'
});
Library1.setParameters(uProps);
Library1.carHistory();
}