将状态/数据传递给Google Apps Script ServerHandler

时间:2013-03-06 14:46:18

标签: google-apps-script

我正在尝试研究如何将一些任意状态传递给Google Apps脚本中的ServerHandler。以下代码说明了问题 - 任何人都可以帮忙吗?

感谢。

function myFunc(e) {
// want to get my data object back out here..?
}


function setUp()  
{
  var data = getMyDataArray();

  // ... set up UI...  
  var h = app.createServerHandler('myFunc');

  // How do I passs my data object to the myFunc handler?
  flow.add(app.createButton().setText("OK").addClickHandler(h));

  app.add(flow); 
  s.show(app);  
}

1 个答案:

答案 0 :(得分:3)

您可以使用Hidden elements存储任意数据,并将其与服务器处理程序调用一起发送。问题是该元素只能存储一个字符串。但您可以使用JSON解决此问题。

function myFunc(e) {
  var yourObj = Utilities.jsonParse(e.parameter.yourObject);
  //do what you need
}


function setUp()  
{
  var data = getMyDataArray();

  // ... set up UI...  

  var hidden = app.createHidden("yourObject", Utilities.jsonStringify(data));
  var h = app.createServerHandler('myFunc').addCallbackElement(hidden);
  flow.add(app.createButton().setText("OK").addClickHandler(h));

  app.add(flow); 
  s.show(app);  
}