要在Apps Script中从服务器端向小部件写入值,可以使用HtmlService模块来创建带有小部件的自定义ui界面,并在服务器端将要写入的值传递给小部件。以下是一个代码示例:
function doGet() {
var template = HtmlService.createTemplateFromFile("Page");
template.name = "John Doe";
return template.evaluate();
}
function writeValue(value) {
var template = HtmlService.createTemplateFromFile("Page");
template.name = value;
var html = template.evaluate().getContent();
return HtmlService.createHtmlOutput(html);
}
在上面的示例中,doGet
函数会创建一个自定义ui界面的模板,并将名称设置为“John Doe”。将模板返回给HtmlService模块,并使用evaluate
方法呈现html。
在writeValue
函数中,我们将要写入的值作为参数传递,并将其设置为模板的名称。然后,我们再次使用evaluate
方法呈现html,并使用createHtmlOutput
将html作为小部件返回。
在自定义ui界面的html代码中,可以使用scriptlet
来于服务器端交互。以下是一个在html代码中使用scriptlet
的示例:
Hello, = name ?>!
在上面的示例中,我们使用scriptlet
输出名称,并在按钮上绑定一个onclick
事件,当点击按钮时,我们将使用writeValue
函数向服务器端写入一个新值,并使用withSuccessHandler
函数定义一个回调函数,以在服务器端写入完成后修改小部件。