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

How to test an editor add-on for Google Docs with the new Apps Script editor?

我正在尝试为我制作的 Google 文档测试一个简单的附加组件,但似乎 this page of documentation 与旧版 Apps 脚本编辑器相关,但我找不到了解如何使用新的 Apps 脚本编辑器。

  1. 我读过这个,但他正在尝试部署 Workspace 插件(不同于编辑器插件)
  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 Workspace SDK 进行发布。

如果您想使用 Google Apps 脚本的“作为插件测试”功能,您必须使用旧版编辑器。这可能适合测试某些功能,例如 onOpen 简单触发器 ,但不能测试其他功能,例如 可安装触发器

很明显你的编辑器插件没有使用可安装的触发器和其他不能用“作为插件测试”测试的功能,它很可能足以测试你的简单触发器附加组件。

P.S。您的附加组件缺少 onInstall 简单触发器,通常用于在从打开的文档安装附加组件时调用 onOpen 触发器。

相关

  • Installable Trigger Failing with Test Add-On
  • Is "Test as add-on" for Google sheets editor add-ons broken?
  • Testing Google Sheet Addon Triggers