在发送卖家的购买商品请求时,我达到了运营商限制。
每分钟15-60条消息,每天不到200位唯一身份收件人
如果我的脚本的电子表格中有200-500个联系人,如何保持在以下准则之内
function sendSms(to, body) {
var messages_url = "https://api.twilio.com/2010-04-01/Accounts/MYAPIKEY/Messages.json";
var payload = {
"To": to,
"Body" : body,
"From" : "+1PHONENUMBER"
};
var options = {
"method" : "post",
"payload" : payload
};
options.headers = {
"Authorization" : "Basic " + Utilities.base64Encode("MYAPIKEY:MYAUTHTOKEN")
};
UrlFetchApp.fetch(messages_url, options);
}
function sendAll() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2;
var numRows = sheet.getLastRow() - 1;
var dataRange = sheet.getRange(startRow, 1, numRows, 3); // Modified
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
if (row[2].toLowerCase() != "sent") { // Added
try {
response_data = sendSms(row[0], row[1]);
status = "sent";
} catch(err) {
Logger.log(err);
status = "error";
}
sheet.getRange(startRow + Number(i), 3).setValue(status);
}
}
}
谢谢您的帮助!
答案 0 :(得分:1)
如果您将200位或更少的收件人放在以一周中的几天(即星期日,星期一,星期二,星期三,星期三,星期四,星期五,星期六)命名的工作表上,则可以保证每分钟不足15名。实际上,只要您在任何一张纸上的收件人少于200个,就可以在任意一周内为您想要的名称命名,然后在同一周内再次使用这些名称。然后您将自己限制为每天的最大数量。
function sendAll() {
var shA=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];//sheet names
var sheet = SpreadsheetApp.getActive().getSheetByName(shA[new Date().getDay()])
var startRow = 2;
var numRows = sheet.getLastRow() - 1;
var dataRange = sheet.getRange(startRow, 1, numRows, 3); // Modified
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
if (row[2].toLowerCase() != "sent") { // Added
try {
response_data = sendSms(row[0], row[1]);
status = "sent";
} catch(err) {
Logger.log(err);
status = "error";
}
sheet.getRange(startRow + Number(i), 3).setValue(status);
Utilities.sleep(4000);//4 seconds
}
}
}