Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web

Custom Domains on Google Apps Script

5.00/5 (3 votes)
4 Jun 2017CPOL 18.4K  
Making your apps script URLs a lot more attractive

It may have occurred to you that when deploying a Google Apps Script web app, the URL spewn forth looks rather long and unattractive:

https://script.google.com/macros/s/*mashes keyboard*/exec

And that it would be a lot nicer to have something more succinct like:

HTML
https://mysite.com/thing

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: DEFAULTor ALLOWALL. What we want to do is to set this to ALLOWALL.

JavaScript
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.

HTML
<iframe src="https://script.google.com/macros/s/*mashes keyboard*/exec"></iframe>

And the end result is something quite stunning.

Image 1

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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)