Google Apps脚本如何调用外部.gs

时间:2017-01-31 06:12:00

标签: google-apps-script

从头开始提出更好的解释:

我有两个脚本 - 一个是主文件,第二个基本上是我想要“复制”到主文件库的库。这是我目前的代码:

Code.gs

function doGet(){return HtmlService.createHtmlOutputFromFile(0)}
function nP(page){var pageOutput=HtmlService.createHtmlOutputFromFile(page).getContent();return pageOutput}

0.html

<body>First Page<button id="p2">Second Page</button></body>
<script>document.getElementById("p2").onclick=function(){google.script.run.withSuccessHandler(cP).nP(1)}</script>

1.HTML

<body>First Page<button id="p1">First Page</button></body>
<script>document.getElementById("p1").onclick=function(){google.script.run.withSuccessHandler(cP).nP(0)}</script>

我的目标是拥有一个带有nP功能的外部.gs文件,我将能够在其他网络应用程序中使用(这是一个开始,具有此功能对其他功能也非常有用)。我正在寻找一个类似于HTML的选项,如果可能的话,它就像在文件中一样简单。或者我可以使用库选项,如果它实际上工作,我刚遇到问题,它说函数不存在,无效变量或无效返回。

2 个答案:

答案 0 :(得分:0)

有一种方法可以调用外部.gs文件,就像外部脚本写在脚本的另一个.gs文件中一样。

为此,您必须使用UrlFetchApp.fetch(String url)方法。

字符串网址传递什么内容? - &GT;外部脚本已部署为Web应用程序URL。是的,您必须将其他.gs文件部署为网络应用,当您更新它时,它会显示一个网址,将其复制并在获取方法中使用。

要将值传递到外部.gs文件,您可以使用?xyz = abc ,然后在该外部脚本中使用doGet(e)然后使用e.parameter.xyz;

只需确保脚本正在访问的文件可以正确地用于每个脚本。

请参阅:UrlFetchApp method

答案 1 :(得分:0)

在外部.gs文件中调用代码的方法是将包含它们的项目添加为库。

作为替代方案,您可以使用