javascript - 我编写了一个 Nodejs 应用程序来操作 Google Sheets。如何将其转换为附加组件?

标签 javascript node.js google-drive-api google-sheets-api gmail-addons

此应用程序使用 Google 工作表获取信息,将其添加到不同的工作表中,下载该工作表并使用 Nodemailer 将该工作表作为邮件发送。如何从 Google Sheets 界面触发此脚本?

最佳答案

您想要的可以通过使用Google Apps Script来实现.

方法1 - 通过GAS触发Node.js脚本的执行

您拥有的 Node.js 脚本可以托管在云端或私有(private)服务器中,然后您可以使用以下脚本触发其执行:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  
  ui.createMenu('Custom menu')
    .addItem('Run script', 'runRemoteFunction')
    .addToUi();
}

function runRemoteFunction() {
  var params = {
    'method': 'post',
    'headers': {
      'contentType': 'application/json',
      'payload': '{"name":"Keyboard Cat"}'
    }
  };
  var req = UrlFetchApp.fetch('https://YOUR_REGION-YOUR_PROJECT_ID.cloudfunctions.net/FUNCTION_NAME', params);
  
  var res = req.getContentText();
  
  SpreadsheetApp.getUi().alert(res);
}

该脚本创建一个带有按钮的菜单,该按钮将使用 UrlFetchApp 向您选择的端点发起 HTTP 请求 .

enter image description here

方法 2 - 迁移到 Apps 脚本

这些插件旨在扩展GSuite 应用程序(例如 Gmail、Google 表格和 Google 文档)的功能。

有两种类型的插件:Gmail 插件编辑器插件

由于您想同时使用表格和 Gmail,因此您很可能需要构建一个编辑器插件编辑器插件通过构建自定义工作流程改进、建立与第三方系统的连接以及将 Google Sheets 数据与其他 G Suite 应用程序集成来扩展 Google Sheets。它 可以有自己的一组功能、限制和特殊注意事项,在构建它时必须考虑到这些。

为了构建提到的附加组件,您必须按照以下步骤操作:

  1. 您必须通过访问此 link 创建 Apps 脚本项目。 ;

  2. 开发插件 - HTML 服务 可用于构建界面,并且由于您提到您希望能够发送电子邮件,因此 Gmail 服务 可以为您提供帮助。

  3. 测试您开发的附加组件;

  4. 发布插件。

此外,我建议您查看这些链接,因为它们可以指导您 future 的发展:

关于javascript - 我编写了一个 Nodejs 应用程序来操作 Google Sheets。如何将其转换为附加组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59555158/

相关文章:

javascript - 未捕获的语法错误 : Unexpected token in JSON at position 0

javascript - 以联系表 7 的形式发送 javascript 变量 (cookie)

python - 使用 python Flask 和 NodeJS 的 Websocket (socket.io) 代理

asp.net - 使用现有访问 token 创建 Google Drive DriveService

javascript - 将js文件中的数组Fatch到php中,然后编码成json

javascript - Twitter 文本 js,不计算包含带有 #!

node.js - Nodejs数据交换

node.js - socket.io( Node )和 apache 在同一服务器上运行时发生 CORS 错误

android - 如何从 Google Drive 下载文件并从中恢复数据库

javascript - Google Drive API 获取缩略图