How can I store and retrieve objects from Google Apps Script Project Properties?

- 1 answer

Ad

I am trying to store objects in google apps script properties.

Lets say I have an object: var myObject = {var1:"stuffval", var2:"stuff2val"};

If I store this as a property via scriptProperties.setProperty("myProperty", myObject ); the property is stored as a string that is {var1=stuffval, var2=stuff2val}.

How can I retrieve my object from that string within Google Apps Script?

Ad

Answer

Ad

Convert the object to a string before putting it into Properties Service. All of the Properties Services store the data as a string. Properties Service will automatically convert non-strings to strings before storing the data, but with an object you should use the JSON service to correctly convert the object to a string. Then convert the object as a string back to a real object with JSON.parse(theObject)

var myObject = {var1:"stuffval", var2:"stuff2val"};//Example - object literal

PropertiesService.getScriptProperties()
  .setProperty("myProperty", JSON.stringify(myObject) );//stringify the object

Convert back to an object:

var returnedObj = PropertiesService.getScriptProperties("myProperty");
returnedObj = JSON.parse(returnedObj);

Don't use scriptProperties it's deprecated.

Ad
source: stackoverflow.com
Ad