此应用程序使用 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 请求
.
方法 2 - 迁移到 Apps 脚本
这些插件旨在扩展GSuite 应用程序(例如 Gmail、Google 表格和 Google 文档)的功能。
有两种类型的插件:Gmail 插件和编辑器插件。
由于您想同时使用表格和 Gmail,因此您很可能需要构建一个编辑器插件。 编辑器插件通过构建自定义工作流程改进、建立与第三方系统的连接以及将 Google Sheets 数据与其他 G Suite 应用程序集成来扩展 Google Sheets。它 可以有自己的一组功能、限制和特殊注意事项,在构建它时必须考虑到这些。
为了构建提到的附加组件,您必须按照以下步骤操作:
您必须通过访问此 link 创建 Apps 脚本项目。 ;
开发插件 -
HTML 服务
可用于构建界面,并且由于您提到您希望能够发送电子邮件,因此Gmail 服务
可以为您提供帮助。测试您开发的附加组件;
发布插件。
此外,我建议您查看这些链接,因为它们可以指导您 future 的发展:
关于javascript - 我编写了一个 Nodejs 应用程序来操作 Google Sheets。如何将其转换为附加组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59555158/