With exposed public google apps script as a service, we need to have a doGet(e) method implemented. To capture url parameter we use this construct :
e.parameter.ParameterName;
for example, explore this script modified from google documentation :
function doGet(e) {
var app = UiApp.createApplication();
// hello world label
var helloworldLabel = app.createLabel("I love Apps Script!").setStyleAttribute("fontSize","16px");
var verticalpanel = app.createVerticalPanel();
var mybutton = app.createButton(e.parameter.test);
verticalpanel.add(helloworldLabel);
verticalpanel.add(mybutton);
app.add(verticalpanel);
// add the label to the app container
//app.add(helloworldLabel);
return app;
}
Notice at line 7, we used URL parameter named "test" as a caption for button element. Exposed this script as service, and try to add url parameter "test" with some value and see the result.
Below is a screenshot of the service execution :
![]() |
| Button Caption comes from URL parameter "test" |

2 comments:
What you don't mention is that errors arise if you try to use the script purely as a web service, i.e. without creating and returning a UI. Some info on automating Google Apps via exposed, parameterised URLs might be an interesting subject for a further post.
Thanks a lot !
Post a Comment