javascript - 在另一个网站的 HTML 页面中将 Google Script 用作 Java Script

标签 javascript google-apps-script

我是 Google Script 的新手,但它似乎是我期待使用的 Google 文档、日历和邮件软件的迷人界面!

我们小组有一个网站,我很想用访问 Google 文档的动态 Javascript 组件来美化它。我希望做的是在 Google Script 中创建函数并在我们网站的 HTML 中调用它们。

因此,我制作了一个具有两个功能的 Google Script 页面:

function getName(EMT_ID) {
// ...
};

function getStrikes(EMT_ID) {
// ...
};

这些从我们使用的 Google 电子表格中获取数据。我不会包括细节,因为当通过 Google Script 测试环境访问时,这些细节本身可以正常工作。

然后我将其发布为“Web 应用程序”,以便我可以从其他平台访问这些功能。

现在,在我们的其他网页上,我添加了这段代码(删除了确切的标题)

<script src="https://script.google.com/macros/s/AKfy[...]65K0/exec"></script>

<script>
function strikes()
{
var EMT_ID = document.getElementById('USC ID').value
document.getElementByID('output').InnerHTML = getName(EMT_ID) + ' has ' + getStrikes(EMT_ID) + '     strikes.'
}
</script>

<input type="text" id="USC ID">
<input type="button" onclick='strikes()' value='Check Strikes'>
<p>Output here:</p><p id="output"></p>

我希望这能让我从 Google Script 页面访问 Javascript 函数。是这样吗?如果不是 - 我还应该怎么做。

最好的问候

--- 编辑

要添加详细信息 - 网页似乎根本没有响应按下按钮。

最佳答案

Google Apps 脚本函数不能以您尝试过的方式直接从外部 javascript 调用。当您将脚本发布为 Web 应用程序时,您将通过 HTML 提供一个可访问该应用程序的 URL。它没有公开您的脚本的功能。

不过,您确实有一些选择。

  1. 您可以使用 HTML Service 在您的 google 脚本中创建 HTML , 并且 html 可以通过模板化 HTML 间接或直接使用您的应用程序脚本功能:

    <script>
      google.script.run.doSomething();
    </script>
    
  2. 您可以使用 Content Service让您的 Apps 脚本提供提要(RSS、JSON、JSONP)。

  3. 您发布的服务可以使用 UI Service 编写,可以完全访问您的其他应用脚本函数、表单、图表等。

上述主题也有变体 - 此列表并不详尽。

关于javascript - 在另一个网站的 HTML 页面中将 Google Script 用作 Java Script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573481/

相关文章:

javascript - 无法从 Windows 10 Cordova 应用程序中的 Web View 进行 ajax 调用

javascript - 尝试加载 Chrome 配置文件时出现 Puppeteer "Unable to move ShaderCache"

javascript - Jquery 将额外的变量传递给排序函数

javascript - 即使服务器端函数成功返回,回调函数也没有运行

javascript - google 脚本的 sendEmail(recipient, subject, body) 方法的 html 正文部分设计

javascript - 无法在局部 View 中使用部分的干净替代方案?

javascript - ThreeJS WebGLRenderTarget 有空白纹理

javascript - 外部 API 数据 ---> HTML 服务输出为图表/表格

google-apps-script - Clasp 无法创建新的 Apps 脚本

firebase - 如何在使用 IMPORTRANGE 的 Google 表格中将持续时间转换为秒