python-3.x - 如何设置脚本,以便每次在 google sheet 上有新的修改时,我的脚本都会被触发并执行一些操作
问题描述
我想编写一个脚本,以便每次在 google sheet 上进行修改时,都会触发我的 python 脚本并执行一个简单的操作,例如向我或其他人发送 SMS 消息,通知工作表已被修改。
到目前为止,我能够连接谷歌表格 API 以自动下载整个表格。但是,我不确定接收警报并触发我的脚本执行一系列操作的最佳方式。我正在考虑可能使用 Flask,但不确定该怎么做?
解决方案
您的问题可以通过 Google Apps Script 触发 Python 脚本的执行来解决。
您可以使用可安装的触发器来监控电子表格中的每次更改。之后,您拥有的 Python 脚本可以托管在云或私有服务器中,您可以使用该UrlFetchApp()
函数触发其执行,该函数将向您选择的端点发出 HTTP 请求。
- 功能:
runScript()
function runScript() {
var params = {
'method': 'post',
'headers': {
'contentType': 'application/json',
'payload': '{"name":"Name"}'
}
};
var pyScript = UrlFetchApp.fetch('https://YOUR_REGION-YOUR_PROJECT_ID.cloudfunctions.net/FUNCTION_NAME', params);
}
此函数用于触发 Python 脚本的执行。
- 功能:
onChangeTrigger()
function onChangeTrigger() {
runScript();
var recipient = "RECIPIENT_ADDRESS";
var subject = "MAIL_SUBJECT";
var body = "MAIL_CONTENT";
MailApp.sendEmail(recipient, subject, body);
}
此函数是可安装的触发器,用于监视电子表格中的更改并调用runScript()
.
此外,可安装触发器应将事件类型选择为On change,如下所示:
此外,我建议您检查以下链接,因为它们可能会有所帮助:
推荐阅读
- javascript - ApexCharts:分组条形图标签和系列
- html - 如何手动更改您网站上的 Google Analytics(分析)跟踪代码
- reactjs - 使用 axios 和 useEffect 从 firebase 获取数据
- vba - iframe vba selenium 内的 iframe
- javascript - AgnularJS ng-model 指令用法
- r - 将一列中的多个值更改为 R 中的相同数字
- javascript - 如何定义在 Typescript 中先前加载的 javascript 中定义的全局变量
- sql - 在 DB Browser for SQLite 中执行 sql 可以创建两个表,但是运行 javascript 代码只能得到第一个表
- excel - 用于识别基于不同日期的连续评论评级的 Google 表格/Excel 公式
- go - 有“去卸载”吗?