【问题标题】:Google apps script won't update app谷歌应用脚​​本不会更新应用
【发布时间】:2015-05-04 15:47:17
【问题描述】:

我对此很陌生,我知道这可能很简单,但我似乎无法让它发挥作用。我在网上找到了这个应用程序脚本,它可以让人们将文件上传到我的 Google 云端硬盘,但是当我尝试更改其中的任何内容并保存时,它不会反映在应用程序中。我尝试在 Google 脚本编辑器中添加 CSS 或更新文本,然后按保存然后运行 ​​doGet 函数,但没有弹出任何内容来显示页面,并且应用程序根本没有改变。它已经部署和授权。

server.gs:

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('form.html');
}

function uploadFiles(form) {

  try {

    var dropbox = "Student Files";
    var folder, folders = DriveApp.getFoldersByName(dropbox);

    if (folders.hasNext()) {
      folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }

    var blob = form.myFile;    
    var file = folder.createFile(blob);    
    file.setDescription("Uploaded by " + form.myName);

    return "File uploaded successfully " + file.getUrl();

  } catch (error) {

    return error.toString();
  }

}

form.html:

<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">

<?!= include('style'); ?>

<form id="myForm">
<input type="text" name="myName" placeholder="Your name..">
<input type="file" name="myFile">
<input type="submit" value="Upload File" 
       onclick="this.value='Uploading..';
                google.script.run.withSuccessHandler(fileUploaded)
                .uploadFiles(this.parentNode);
                return false;">
</form>

<div id="output"></div>

<script>
function fileUploaded(status) {
    document.getElementById('myForm').style.display = 'none';
    document.getElementById('output').innerHTML = status;
}
</script>

【问题讨论】:

标签: google-apps-script


【解决方案1】:

如果您使用的 URL 末尾带有“exec”,则该 URL 仅服务于部署的最后一个版本,它不会显示开发版本。其次,为了显示任何客户端 HTML、JavaScript、CSS,您必须刷新浏览器选项卡。您无需刷新浏览器选项卡即可查看.gs 服务器端代码的任何更改结果。我遇到过一些情况,似乎我需要重新加载浏览器,或重新启动我的计算机才能让某些东西正常工作,但我无法验证这一点,这可能只是我的一个愚蠢的错误。如果结果不是这些问题,请告诉我。我非常怀疑它与您的代码本身有关。如果它是共享文件,并且您不是所有者,则可能会出现所有者未授权新权限的情况,因此需要之前未授权的不同权限的新代码将无法运行。

【讨论】:

  • 感谢您的帮助,我想我现在已经弄清楚了。当尝试再次部署它时,我终于注意到了一个小链接,上面写着“为您的最新代码测试 web 应用程序”。当我单击它时,它能够反映我所做的更改以及我正在进行的任何当前更改(链接以 /dev 结尾)。要再次部署应用程序以制作新版本并发布它,我转到文件 > 管理修订。之后,我只是通过按云图标并选择我制作的第二个版本来正常部署它。我认为这就像在网页中编写脚本,但事实并非如此。慢慢适应吧。
【解决方案2】:

感谢@billy98111

每次部署 Web 应用时,它都会使用相同的版本。这就是它不更新的原因。

进行更改后,创建新版本然后部署它。然后在部署时选择要运行的版本

【讨论】:

    【解决方案3】:

    我相信你还没有发布你的应用程序!

    您需要转到发布,部署为 Web 应用程序。

    在那里你必须生成一个新版本,然后你可以部署它,之后,你会看到一个窗口显示部署的 URL(官方 URL)和一个测试 URL(为了测试每个保存你使用您的代码):

    之后如果你需要正式发布新的修改,你必须去文件,管理版本并创建一个新版本,然后在部署菜单上再次选择这个新版本。

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多