我正在尝试通过 Google Apps 脚本 (GAS) 发送和接收短信。GAS 不提供对发送短信或检查 Google Voice 的原生支持,因此我一直在考虑与第三方 API 集成 - 在本例中为 Twilio。
我一直在与 Twilio 的技术支持人员取得联系,但他们还不能回答这个问题。我也进行了广泛的研究,并没有找到与 Twilio 成功合作的有效 GAS 示例。
我按照https://developers.google.com/live/shows/11404657/上的教程进行操作。然后从 Google Apps 脚本团队复制了一个与教程中的代码平行的无效代码示例:https ://github.com/entaq/GoogleAppsScript/blob/master/Twilio/RecieveSMS/RecieveSMS.gs -
我的代码复制如下:
最后第二个命令 appendrow() 工作正常,这意味着 GAS 正确地从 Twilio API 获取。但是,最后一个命令 createTextOutput() 不起作用,这表明 GAS 无法以正确的格式 POST 到 Twilio……对吧?
function doGet(args) {
var spreadsheetID = "<< your spreadsheet ID >>";
var vote = args.parameter.Body;
var from = args.parameter.From;
var actualVote;
switch (vote.toLowerCase()) {
case "a":
actualVote = 'Giants';
break;
case "b":
actualVote = 'Jets';
break;
default:
actualVote = 'Dont care';
}
SpreadsheetApp.openById(spreadsheetID).appendRow([from,actualVote,vote]);
return ContentService.createTextOutput(LanguageApp.translate(args.parameter.Body, "en", "es")).setMimeType(ContentService.MimeType.TEXT);
};
我很乐意使用解决方法(例如电子邮件到 SMS),但我必须同时发送和接收 SMS,而且我不想转移到另一个编程平台,因为我们已经花了 4 个月的时间来开发我们的内部操作软件通过 Google Apps Script 传输,因此传输将非常繁重。
请注意,这不是“分块”XML 响应的问题 - 正如在此线程中发现的那样:使用Google Apps 脚本连接 Twilio - Twilio 技术团队昨天告诉我,他们最近升级了服务器以接受分块响应。
谢谢!