Google 脚本运行从未执行过

问题描述 投票:0回答:2

我正在尝试在 Google 文档中创建一个简单的插件,但在阅读文档后,我无法弄清楚 google.script.run 怎么可能无法正常工作。 这是我的基本代码:

代码.gs

function onOpen(e) {
  DocumentApp.getUi().createAddonMenu()
      .addItem('Start', 'showSidebar')
      .addToUi();
}

function onInstall(e) {
  onOpen(e);
}

function showSidebar() {
  var ui = HtmlService.createHtmlOutputFromFile('sidebar')
      .setTitle('NeuralText');
  DocumentApp.getUi().showSidebar(ui);
}

function dummyFunc(){
  var doc_id = DocumentApp.getActiveDocument().getId();
  Logger.log(doc_id);
  return doc_id;
}

侧边栏.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
    <!-- The CSS package above applies Google styling to buttons and other elements. -->

    <style>
    .branding-below {
      bottom: 56px;
      top: 0;
    }
    .branding-text {
      left: 7px;
      position: relative;
      top: 3px;
    }
    .col-contain {
      overflow: hidden;
    }
    .col-one {
      float: left;
      width: 50%;
    }
    .logo {
      vertical-align: middle;
    }
    .radio-spacer {
      height: 20px;
    }
    .width-100 {
      width: 100%;
    }
    </style>
  </head>
  <body>
    <div class="sidebar branding-below">
    <div class="output"></div>
      <form>
        <div class="block form-group">
          <label for="translated-text"><b>Insert URL</b></label>
          <input class="width-100" id="shared-brief"/>
        </div>
        <div class="block" id="button-bar">
          <button class="blue" id="test-btn">Test</button>
        </div>
      </form>
      
    </div>

    <div class="sidebar bottom">
      <img alt="Add-on logo" class="logo" src="https://www.gstatic.com/images/branding/product/1x/translate_48dp.png" width="27" height="27">
      <span class="gray branding-text">Translate sample by Google</span>
    </div>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
      $(function() {
        $('#test-btn').click(printTest);
        google.script.run.withSuccessHandler(onSuccess)
            .withFailureHandler(showError).dummyFunc();
      });

      function printTest() {
        console.log('test');
      }

      function showError() {
       console.log('error')
      }

      function onSuccess() {
        console.log('success')
      }
    </script>
  </body>
</html>

appsscript.json

{
  "timeZone": "Europe/Paris",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "oauthScopes": ["https://www.googleapis.com/auth/script.external_request",
                  "https://www.googleapis.com/auth/script.container.ui",
                  "https://www.googleapis.com/auth/documents",
                  "https://www.googleapis.com/auth/drive"]
}

如果我在编辑器中并运行

dummyFunc
,我可以在 Log 中看到文档的 ID。但是,如果我测试我的插件,我会不断从客户端函数 showError 收到“错误”。 我做错了什么?

google-apps-script google-docs google-apps-script-addon
2个回答
1
投票

我只需禁用新的 V8 运行时即可使其工作。 行为真的很奇怪,最重要的是,完全没有记录。


0
投票

我也遇到了类似的问题,经过多次测试,我发现代码没有任何问题,我删除了用户的 google cookie,它按预期运行。

© www.soinside.com 2019 - 2024. All rights reserved.