如何使用新的 Apps 脚本编辑器测试 Google 文档的编辑器插件?

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

我正在尝试测试我制作的 Google Docs 的简单插件,但似乎 此文档页面 与旧版 Apps 脚本编辑器相关,而且我无法找到如何使用新版Apps 脚本编辑器。

  1. 我已阅读此主题,但他正在尝试部署工作区附加组件(与编辑器附加组件不同)
  2. 我知道我可以简单地将代码复制粘贴到直接绑定到 Google 文档的 Apps 脚本中,但这不是我想要的,我真的希望我的附加代码位于其自己的、独立的 Apps 脚本项目中。
  3. 我的 Apps 脚本项目已链接到正确的 GCP 项目(可以使用计费和 oauth 同意屏幕)

我的代码,如果有帮助的话

const PASS = "PASSPHRASE";

function decrypt(text) {
  var cipher = new cCryptoGS.Cipher(PASS, 'aes');
  return cipher.decrypt(text)
}

function encrypt(text) {
  var cipher = new cCryptoGS.Cipher(PASS, 'aes');
  return cipher.encrypt(text)
}

function decryptDocument() {
  var doc = DocumentApp.getActiveDocument();
  var paragraphs = doc.getBody().getParagraphs();
  return paragraphs.reduce((previous, current) => {
    return previous + "\n" + decrypt(current.getText());
  }, ""); 
}

function onOpen() {
  DocumentApp.getUi()
      .createMenu('Décodeur')
      .addItem('Lancer le décodeur', 'showSidebar')
      .addToUi();
}

function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('decoder')
      .setTitle('Décodeur');
  DocumentApp.getUi().showSidebar(html);
}
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <button onclick="decrypt()">Décoder le contenu</button>
    <div id="decodedText">
      </div>
  </body>
  <script>
    var running = false;

    function onSuccess(decodedText) {
      running = false;
      document.getElementById("decodedText").innerHTML = decodedText;
    }

    function onFailure(e) {
      running = false;
      console.error(e);
    }

    function cleanDiv() {
      document.getElementById("decodedText").innerHTML = "";
    }

    function decrypt() {
      running = true;
      google.script.run.withSuccessHandler(onSuccess)
        .withFailureHandler(onFailure)
        .decryptDocument();
    }
    </script>
</html>
{
  "timeZone": "America/New_York",
  "dependencies": {
    "libraries": [
      {
        "userSymbol": "cCryptoGS",
        "version": "4",
        "libraryId": "1IEkpeS8hsMSVLRdCMprij996zG6ek9UvGwcCJao_hlDMlgbWWvJpONrs"
      }
    ]
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}
google-apps-script google-docs add-on
1个回答
2
投票

彻底测试编辑器插件的唯一方法是使用 Google Workspace SDK 进行发布。

当OP创建这个问题时,开发人员必须使用旧版编辑器来使用Google Apps脚本的“测试作为附加组件”功能。测试像onOpen简单触发器之类的功能可能没问题,但不能测试可安装触发器之类的其他功能。如今,旧编辑器已不再可用,但测试作为附加功能可在新编辑器中使用。尽管如此,还是有一些功能无法使用此功能进行测试。

显然,您的编辑器附加组件不使用可安装的触发器和其他无法通过“作为附加组件测试”进行测试的功能。但是,它很可能足以测试您的附加组件的简单触发器。

此外,您的附加组件缺少

onInstall
简单触发器,当从打开的文档安装附加组件时,该触发器通常会调用
onOpen
触发器。

相关

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