I have created a function which trigger every after 30 mins, and I want to pass some parameter. I have one library which returns carHistory, and my spreadsheet from where I
Properties are a not-shared resource; each script has their own set of Properties which are not shared with other scripts. This behaviour affects how you can handle properties in a Library, as described in Resource Scoping.
A not-shared resource means that both library and the including script have built-in access only to their instance of the resource. However, a library can provide access to its not-shared resources by having explicit functions that operate on them.
In other words; the library's not-shared properties can be exposed to the main script by library functions.
This function can be used to set up the operating parameters for your library trigger function:
/**
* 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);
}
}
You'd use it like this:
function startOnce(){
var uProps = {
'Maker':'Honda',
'Number':'US-xxx'
});
Library1.setParameters(uProps);
Library1.carHistory();
}