You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Google Sheet中运行Python批量短信发送脚本?

实现Google Sheet内直接运行批量短信发送的方案

方案一:Google Apps Script(推荐,直接在Sheet内操作)

这是最贴合需求的方案,无需离开Google Sheet就能完成操作,步骤如下:

  1. 打开目标Google Sheet,点击顶部菜单栏「扩展程序」→「Apps Script」,进入脚本编辑器
  2. 删除默认的myFunction代码,替换为以下代码(记得替换其中的Twilio信息):
// 替换为你的Twilio账户信息
const TWILIO_ACCOUNT_SID = '你的Twilio Account SID';
const TWILIO_AUTH_TOKEN = '你的Twilio Auth Token';
const TWILIO_FROM_NUMBER = '+18442251378'; // 你的Twilio发送号码

function sendBatchSMS() {
  // 打开指定工作表
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Numbers to Send');
  
  // 读取F3:F(号码)和G3:G(姓名)的数据,过滤空行
  const numbersRange = sheet.getRange('F3:F').getValues().filter(row => row[0] !== '');
  const namesRange = sheet.getRange('G3:G').getValues().filter(row => row[0] !== '');
  
  // 循环发送短信
  for (let i = 0; i < numbersRange.length; i++) {
    const number = numbersRange[i][0];
    const name = namesRange[i][0];
    
    if (!number || !name) continue; // 跳过空行
    
    // 调用Twilio API发送短信
    const url = `https://api.twilio.com/2010-04-01/Accounts/${TWILIO_ACCOUNT_SID}/Messages.json`;
    const payload = {
      'To': number,
      'From': TWILIO_FROM_NUMBER,
      'Body': `Hello ${name}, this is a test message from Twilio.`
    };
    
    const options = {
      'method': 'post',
      'payload': payload,
      'headers': {
        'Authorization': 'Basic ' + Utilities.base64Encode(`${TWILIO_ACCOUNT_SID}:${TWILIO_AUTH_TOKEN}`)
      }
    };
    
    try {
      UrlFetchApp.fetch(url, options);
      console.log(`短信已发送给 ${name},号码:${number}`);
    } catch (e) {
      console.error(`发送失败给 ${name},号码:${number},错误:${e.message}`);
    }
  }
  
  SpreadsheetApp.getUi().alert('批量短信发送完成!');
}

// 添加自定义菜单到Sheet顶部
function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('短信工具')
    .addItem('发送批量短信', 'sendBatchSMS')
    .addToUi();
}
  1. 保存脚本(点击编辑器左上角保存按钮,给脚本命名比如「批量短信发送」)
  2. 第一次运行点击编辑器顶部运行按钮,按提示完成授权(需允许脚本访问Sheet和调用外部API)
  3. 返回Google Sheet,顶部菜单栏会多出「短信工具」选项,家人点击「发送批量短信」即可执行

方案二:Google Colab共享笔记本(简单易上手)

如果家人能接受在线操作,这个方案几乎不用修改原有Python代码:

  1. 新建Google Colab笔记本,复制原有Python代码,做两处调整:
    • 开头添加依赖安装和文件上传代码,用于上传creds.json
    • 替换敏感信息为你的实际数据
  2. 调整后的代码示例:
!pip install twilio gspread
from twilio.rest import Client
import gspread
from google.colab import files

# 上传Google服务账号的creds.json文件
uploaded = files.upload()

# 替换为你的Twilio账户信息
account_sid = '你的Twilio Account SID'
auth_token = '你的Twilio Auth Token'
client = Client(account_sid, auth_token)

gc = gspread.service_account(filename='creds.json')

# 打开指定Sheet
sh = gc.open_by_key('你的Sheet ID')
wk = sh.worksheet("Numbers to Send")

# 读取数据并过滤空行
numbers = wk.batch_get(('f3:f',))[0]
names = wk.batch_get(('g3:g',))[0]
valid_data = [(names[i][0], numbers[i][0]) for i in range(len(names)) if names[i][0] and numbers[i][0]]

# 批量发送短信
for name, number in valid_data:
    message = client.messages.create(
        to=number,
        from_='+18442251378',
        body=f"Hello {name}, this is a test message from Twilio.")
    print(f"Message sent to {name} at {number}")
  1. 点击「文件」→「共享」,设置权限为家人可编辑或查看(查看权限需让家人复制笔记本自行运行)
  2. 家人打开共享链接,点击「运行全部」,按提示上传creds.json即可执行

方案三:封装成桌面程序(无需编程环境)

如果家人完全不想碰代码,可把脚本打包成桌面可执行文件:

  1. 本地安装PyInstaller:pip install pyinstaller
  2. 将creds.json和脚本放在同一文件夹,执行打包命令:
# Windows系统
pyinstaller --onefile --add-data "creds.json;." 你的脚本文件名.py

# Mac/Linux系统
pyinstaller --onefile --add-data "creds.json:." 你的脚本文件名.py
  1. 打包完成后,dist文件夹里会生成可执行文件(.exe或.app)
  2. 将可执行文件和creds.json一起发给家人,双击即可运行(无需安装Python)

注意事项

  • Twilio账户信息、Google服务账号creds.json均为敏感信息,切勿随意共享
  • 第一次运行需授权权限,提前给家人说明操作步骤
  • 建议先测试少量数据,确保短信发送正常

内容的提问来源于stack exchange,提问作者Anthony Madle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:35:47