Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 984
Douglas Gaskell Avatar asked Dec 16 '15 00:12

Douglas Gaskell


1 Answers

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.

like image 200
Alan Wells Avatar answered Nov 19 '22 00:11

Alan Wells