为 HtmlService webapp 使用自定义 url

Use custom url for HtmlService webapp

有没有办法将特定的 cname 用于 运行 Htmlservice webapp? 我想使用 app.domain.com 到 运行 htmlservice 应用程序。

我看到这在 Google 网站内有效,但 Google 网站没有正确管理标签

CNAME 记录是 Canonical Name 记录的缩写,是域名系统 (DNS) 中的一种资源记录,用于指定 域名 是别名对于另一个域,"canonical" 域。所有信息,包括子域、IP 地址等,均由规范域定义。 CNAME

但是 HTML 服务允许您提供可以与服务器端 Apps 脚本功能交互的 网页 HTML Service: Create and Serve HTML

对于 public 页面(不适用于内部应用程序)来说,这是一个可疑的优势。

如果您真的想要 Google Apps 脚本服务器,您需要在网络服务器上发布一个页面并通过 REST 进行交互。

是的,你会输的 Client-side API。你真的需要它吗?

例如,您可以发布一个 GihHib 页面 Setting up a custom domain with GitHub Pages

看看my simple app which deploeded on Google Drive Host

干杯!

不可能。最多您可以使用您的自定义 url 并将其编程为重定向到您的应用程序脚本 webapp。这样很容易输入和记忆。

我发布了通过带屏蔽的转发子域运行的网络应用程序。 URL 没有改变,客户端交互有效,并且也回传到我的文件中。因此,而不是 https://script.google.com/a/bondwood.net/d/1y3iLTLT... 我有 mysubdomain.bondwood.net 如果我想传递参数,我必须抛出一个虚拟字符,所以 mysubdomain.bondwood.net/n?arg1= xyz&arg3=abc

请注意,目前任何响应式设计都通过子域丢失,但通过原始 url 工作。这是我发现目前唯一不起作用的东西。

@Karl_S 发布的解决方案适用于已发布的 /exec 网址,但不适用于 /dev 网址。此外,响应式设计会丢失,因为框架重定向会跳过 html 包装器中的视口设置。另一种方法是在您的域上托管包装 html 页面,并在头部添加视口设置,同时保留框架重定向所做的其余部分。例如,以下对我有用:

<html><head>
  <title>My App</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">   
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <frameset rows="100%">
  <frame src="https://script.google.com/a/.../exec" 
         title="My App" 
         frameborder="0" 
         noresize="noresize">
  </frameset>
</html>

同时确保在禁用跨域限制的情况下发布脚本,即在脚本中确保调用

HtmlService.createTemplateFromFile(...)
  .evaluate()
  .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)

希望对大家有所帮助。