自动化沟通对于任何成长中的企业都至关重要,而从 Google 表格发送短信的能力可以为营销、通知和客户服务解锁强大的工作流程。这篇全面的指南将引导您完成整个过程,利用 Google Apps Script 的强大功能和 MySMSGate 可靠且经济高效的短信网关,将您的电子表格转变为强大的通信中心。
无论您是发送预约提醒、订单更新还是个性化营销信息,您都会发现直接从 Google 表格数据自动化发送短信是多么简单和经济,无需复杂的 инфраструктура 或昂贵的第三方服务。
第一步:了解基础知识 – 为什么要从 Google 表格自动化发送短信?
Google 表格不仅仅是一个电子表格;它还是许多小型企业和初创公司的多功能数据库。直接从您的表格集成短信发送功能具有众多优势:
- 效率: 自动化重复性任务,如发送批量通知或个性化消息。
- 数据驱动的沟通: 利用表格中现有的客户数据触发有针对性的短信。
- 成本效益: 避免手动发送,减少错误,并选择像 MySMSGate 这样经济实惠的短信网关。
- 可访问性: 从一个熟悉且广泛可用的平台管理您的联系人和通信。
- 用例: 预约提醒、配送通知、营销活动、OTP(一次性密码)、内部警报、客户支持跟进等等。
通过将 Google 表格与 MySMSGate 等短信网关连接,您可以直接从浏览器将数据转化为可操作的通信。
第二步:开始使用 MySMSGate:您的经济实惠短信网关
在我们深入编码之前,您需要一个能够处理您的消息的短信网关。MySMSGate 提供了一种独特且极具成本效益的解决方案,它将您现有的 Android 手机转变为强大的短信发送设备。这种方法绕过了昂贵的传统短信聚合器,并消除了对 10DLC 等复杂发件人注册的需求。
- 创建您的账户: 前往 MySMSGate.net 并注册一个免费账户。过程快速,无需预付信用卡。
- 连接您的 Android 手机: 登录后,您将在仪表板中找到一个二维码。在您选择的 Android 手机上从 Google Play 商店下载 MySMSGate Android 应用。打开应用并扫描仪表板中的二维码。您的手机将立即连接,准备发送和接收消息。您可以将无限数量的手机连接到一个账户,如果需要,还可以利用双 SIM 卡支持。
- 找到您的 API 密钥: 为了让 Google Apps Script 与 MySMSGate 通信,您需要唯一的 API 密钥。您可以在 MySMSGate 仪表板的“API”部分找到此密钥。请妥善保管,因为它用于验证您的请求。
- 为您的账户充值: MySMSGate 采用即用即付模式,没有月费或合同。短信费用仅为每条短信 $0.03,并提供套餐(例如,100 条短信 $3,500 条短信 $12,1000 条短信 $20)。为您的账户充值以确保无缝发送。失败的短信将自动退款。
MySMSGate 作为 小型企业最便宜的短信 API 脱颖而出,为开发者提供强大的 REST API,并为非技术用户提供用户友好的网页仪表板。
第三步:准备您的 Google 表格以发送短信
您的 Google 表格的结构至关重要。您需要为收件人的电话号码和消息内容设置列。考虑添加更多列用于个性化或跟踪。
让我们设置一个包含三列的简单表格:
- 电话号码: 收件人的完整国际号码(例如,+12345678900)。
- 消息: 短信的文本内容。
- 状态: 用于跟踪短信是否成功发送的列(可选,但强烈建议用于调试和跟踪)。
以下是您的表格可能的样子:
| 电话号码 | 消息 | 状态 |
|---|---|---|
| +12345678900 | 嗨 John,您的预约是明天下午 2 点。 | |
| +19876543210 | 提醒:您的发票将于 3 月 20 日到期。 | |
| +11122334455 | 专为您提供的特别优惠!使用代码 SAVE10。 |
确保您的电话号码使用国际拨号代码(例如,+1、+44、+91)正确格式化,这对于可靠投递至关重要。
第四步:访问 Google Apps Script
Google Apps Script 是一个基于 JavaScript 的平台,可让您扩展 Google Workspace 应用程序,如 Sheets、Docs 和 Forms。我们将在其中编写代码,将您的表格连接到 MySMSGate。
- 打开您的 Google 表格。
- 转到菜单栏,点击扩展程序 > Apps Script。
- 将打开一个新浏览器标签页,显示 Google Apps Script 编辑器。您可能会看到一个名为
Code.gs的默认文件,其中包含一个空函数myFunction()。
我们将在在这里编写自定义的 JavaScript 代码。
第五步:编写 Google Apps Script 代码
现在,让我们编写 JavaScript 代码,它将从您的 Google 表格中读取数据并将其发送到 MySMSGate API。我们将创建一个函数,它遍历行,构建 API 请求,并发送消息。
function sendSmsFromSheet() {
const SHEET_NAME = 'Sheet1'; // Replace with your sheet name
const API_KEY = 'YOUR_MY_SMS_GATE_API_KEY'; // Replace with your MySMSGate API Key
const API_ENDPOINT = 'https://mysmsgate.net/api/v1/send';
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
const dataRange = sheet.getDataRange();
const values = dataRange.getValues();
// Assuming headers are in the first row, start from the second row
for (let i = 1; i < values.length; i++) {
const row = values[i];
const phoneNumber = row[0]; // Phone number from the first column
const messageText = row[1]; // Message from the second column
let statusCell = sheet.getRange(i + 1, 3); // Status in the third column (row index + 1, column index)
// Skip if phone number or message is empty, or if status is already 'Sent'
if (!phoneNumber || !messageText || statusCell.getValue() === 'Sent') {
continue;
}
try {
const payload = {
'api_key': API_KEY,
'number': phoneNumber,
'message': messageText
// 'device_id': 'YOUR_DEVICE_ID' // Optional: Specify a connected Android device ID
// 'sim_slot': 1 // Optional: Specify SIM slot (1 or 2) if dual SIM
};
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(API_ENDPOINT, options);
const responseData = JSON.parse(response.getContentText());
if (responseData.success) {
statusCell.setValue('Sent');
Logger.log('SMS sent successfully to ' + phoneNumber);
} else {
statusCell.setValue('Failed: ' + responseData.message);
Logger.log('Failed to send SMS to ' + phoneNumber + ': ' + responseData.message);
}
} catch (e) {
statusCell.setValue('Error: ' + e.message);
Logger.log('Error sending SMS to ' + phoneNumber + ': ' + e.message);
}
// Optional: Add a small delay to avoid hitting API rate limits if sending many messages
// Utilities.sleep(1000);
}
}
代码解释:
SHEET_NAME: 确保这与您的 Google 表格标签页的精确名称匹配(例如,'Sheet1', 'SMS List')。API_KEY: 重要: 将'YOUR_MY_SMS_GATE_API_KEY'替换为您 MySMSGate 仪表板中的实际 API 密钥。API_ENDPOINT: 这是 MySMSGate 用于发送消息的 API 端点。sheet.getDataRange().getValues(): 这会从您的活动表格中获取所有数据。- 遍历行:
for循环从i = 1开始,以跳过标题行。 phoneNumber和messageText: 这些变量从每行的第一列(索引 0)和第二列(索引 1)提取数据。如果您的列不同,请调整这些索引。statusCell: 这获取了当前行第三列(索引 2)中单元格的引用,我们将在其中更新状态。payload: 此 JSON 对象包含 MySMSGate API 所需的数据:您的api_key、number和message。如果您连接了多个设备或双 SIM 卡手机并希望指定使用哪个设备,您可以选择包含device_id和sim_slot。UrlFetchApp.fetch(): 这是 Google Apps Script 用于发出 HTTP 请求的方法。我们正在发送带有 JSON 负载的 POST 请求。- 响应处理: 脚本解析 API 响应并相应地更新“状态”列,指示“已发送”或“失败”以及错误消息。
有关 API 参数的更多详细信息,请参阅 MySMSGate API 文档。
第六步:配置和测试您的短信发送器
将代码粘贴到 Apps Script 编辑器后,您需要保存它并授予必要的权限。
- 保存脚本: 点击软盘图标(保存项目)或 文件 > 保存。
- 选择函数: 在代码编辑器上方的工具栏中,有一个下拉菜单(可能显示“myFunction”或“sendSmsFromSheet”)。选择
sendSmsFromSheet。 - 运行脚本: 点击“运行”图标(一个向右的三角形)。
- 授权权限: 首次运行访问外部服务或您的电子表格的脚本时,Google 将要求您授权。请按照以下步骤操作:
- 点击“审查权限”。
- 选择您的 Google 账户。
- 审查请求的权限(例如,“查看、编辑、创建和删除您的所有 Google 表格”、“连接到外部服务”)。
- 点击“允许”。
- 检查您的表格: 成功授权后,脚本将运行。返回您的 Google 表格。您应该会看到“状态”列已更新,成功发送的消息显示“已发送”,失败的消息显示错误信息。
- 检查您的手机: 验证您连接的 Android 手机是否发送了消息。
如果您遇到错误,请在 Apps Script 编辑器中检查“执行”标签页以获取日志和错误详细信息。常见问题包括 API 密钥不正确、电话号码格式错误或消息为空。
第七步:使用触发器自动化短信发送
手动运行脚本用于测试是可以的,但 Google 表格短信自动化的真正强大之处在于触发器。您可以设置脚本根据各种事件自动运行:
- 时间驱动: 每小时、每天、每周等运行脚本,以处理新行。
- 表单提交时: 如果您的表格是通过 Google 表单填充的,则在新表单提交后立即发送短信。
- 编辑时: 当特定单元格或范围被编辑时触发脚本。
以下是设置时间驱动触发器的方法:
- 在 Apps Script 编辑器中,点击左侧边栏上的“触发器”图标(一个时钟)。
- 点击“+ 添加触发器”在右下角。
- 配置触发器:
- 选择要运行的函数:
sendSmsFromSheet - 选择要运行的部署:
Head - 选择事件源:
时间驱动 - 选择基于时间的触发器类型: 例如,
小时计时器 - 选择小时间隔: 例如,
每小时
- 选择要运行的函数:
- 点击“保存”。
现在,您的 Google 表格将按照您指定的时间间隔自动检查要发送的新消息,使您的短信营销活动真正实现免提操作。您还可以将 MySMSGate 与 Zapier, Make.com 或 n8n 等工具集成,以实现更复杂的自动化工作流程,详细信息请参阅我们的 集成指南。
第八步:高级技巧和用例
一旦您掌握了从 Google 表格发送短信的基础知识,请考虑以下高级技巧以最大化您的自动化:
- 个性化: 在您的表格中添加更多列(例如,客户姓名、订单号),并在脚本中将它们动态插入到您的消息文本中。
- 双向通信: MySMSGate 会自动将所有收到的短信转发到您的网页仪表板。然后您可以使用 Web Conversations 界面进行回复,直接从浏览器获得类似聊天的体验。
- 错误处理和日志记录: 增强您的脚本以记录更详细的成功/失败消息,也许记录到一个单独的“日志”表格中,以便更好地监控。
- 成本管理: 凭借 MySMSGate 透明的 $0.03/短信定价,您可以轻松计算成本。与 Twilio ($0.05-$0.08/短信,外加电话号码和 10DLC 注册的额外费用) 等竞争对手相比,MySMSGate 提供了显著的节省,特别是对于小型企业或发送大量消息的用户。
- 专用设备/SIM 卡: 如果您连接了多部 Android 手机到 MySMSGate,您可以指定使用哪个
device_id或sim_slot来发送某些消息,从而实现多分支管理或不同的发件人身份。 - 安排消息: 虽然 Google Apps Script 触发器可以安排,但为了更精确的安排,您可以在表格中管理消息队列,并让脚本仅在达到预定时间时发送消息。
通过利用这些功能,您的 Google 表格可以成为您业务强大、集成的通信平台。
常见问题
我可以使用 Google 表格发送个性化短信吗?
是的,当然可以!通过在您的 Google 表格中添加用于个性化数据(如客户姓名、订单号或特定日期)的列,您可以轻松修改 Google Apps Script,将这些信息动态插入到您的短信中。这使得您可以与收件人进行高度相关且引人入胜的沟通。
从 Google 表格发送短信费用昂贵吗?
费用取决于您使用的短信网关。使用 MySMSGate,从 Google 表格发送短信非常经济实惠,每条短信仅需 $0.03,没有月费或合同。这比许多传统短信 API(如 Twilio)要便宜得多,后者通常每条短信收取 $0.05-$0.08,外加电话号码和合规性费用。MySMSGate 使用您自己的 Android 手机的模型有助于降低成本。
我需要编码技能才能从 Google 表格自动化发送短信吗?
对于本教程中概述的方法,熟悉复制粘贴代码以及理解 JavaScript(Google Apps Script)中的简单变量会有所帮助。您无需成为专业的开发者。提供的代码片段只需稍作修改(API 密钥、表格名称)即可使用。对于非技术用户,MySMSGate 还提供了一个网页仪表板用于直接发送短信,或者与 Zapier, Make.com 和 n8n 进行无代码集成,这些工具无需编写自定义代码即可连接到 Google 表格。
如何从 Google 表格跟踪短信投递状态?
在本教程中,我们在您的 Google 表格中包含了一个“状态”列,在 MySMSGate API 响应后会直接更新为“已发送”或“失败”。为了更详细的实时投递跟踪,MySMSGate 提供 webhooks,可以将投递状态更新推送到您自己的系统,更高级的 Google Apps Script 可能会处理这些更新并在您的表格或其他数据库中进行更新。
Google 表格短信发送的 MySMSGate 替代方案有哪些?
尽管 MySMSGate 提供了一种独特且经济高效的解决方案,但其他替代方案包括传统的短信 API,如 Twilio, Vonage 或 Plivo,它们也可以与 Google Apps Script 集成。然而,这些通常伴随着更高的每条消息成本、月费,并且需要在美国进行 10DLC 注册等合规流程。MySMSGate 使用您自己的 Android 手机的方法消除了这些复杂性和成本,使其成为许多小型企业和开发者的卓越 Twilio 替代方案。
Comments (0)
Be the first to comment!