首页 > 解决方案 > 如何设置脚本,以便每次在 google sheet 上有新的修改时,我的脚本都会被触发并执行一些操作

问题描述

我想编写一个脚本,以便每次在 google sheet 上进行修改时,都会触发我的 python 脚本并执行一个简单的操作,例如向我或其他人发送 SMS 消息,通知工作表已被修改。

到目前为止,我能够连接谷歌表格 API 以自动下载整个表格。但是,我不确定接收警报并触发我的脚本执行一系列操作的最佳方式。我正在考虑可能使用 Flask,但不确定该怎么做?

标签: python-3.xgoogle-apps-scriptgoogle-sheets

解决方案


您的问题可以通过 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,如下所示:

在此处输入图像描述

此外,我建议您检查以下链接,因为它们可能会有所帮助:


推荐阅读