It may have occurred to you that when deploying a Google Apps Script web app, the URL spewn forth looks rather long and unattractive:
And that it would be a lot nicer to have something more succinct like:
Well, this has indeed troubled and racked the minds of many a stackoverflow poster trying to circumvent Google’s top-notch cross-domain prevention skills… until now…
It turns out that the solution to hosting Google Apps Script web apps on custom domains has been under our noses for all this time. The secret sauce lies in the
setXFrameOptionsMode method in the
HtmlService class. It takes an
enum of one of two values:
ALLOWALL. What we want to do is to set this to
return HtmlService .createTemplateFromFile('login') .evaluate() .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
This now means that we are at liberty to embed our app into any page using an
iframe. It even supports SSL.
<iframe src="https://script.google.com/macros/s/*mashes keyboard*/exec"></iframe>
And the end result is something quite stunning.
Notice how the URL doesn’t take up the entire address bar.
That’s all for today folks. Creds to Stewart for discovering this madness.
Original blog post (by yours truly): https://medium.com/nuclear-chicken/custom-domains-on-google-apps-script-46734fb8b4b6