var user = ["%API ID%", "%TELNO%"]; var num = [ ["%TRACKCODE1%", "%NAME1%"], ["%TRACKCODE2%", "%NAME2%"], ... ["%TRACKCODEn%", "%NAMEn%"], ]; var errors = { "hsErr": "Wrong hash", "unAllow": "You've changed parameter \"lo\" in query URL. Set it to \"www.17track.net\"", "hsNon": "There's no hash" } var success = false; function sendSMS(text){ UrlFetchApp.fetch("http://sms.ru/sms/send?api_id="+user[0]+"&to="+user[1]+"&text="+encodeURI(text)); } function digest2str(digest){ var str = ''; var i = 0; for (i=0; i<digest.length; i++) { byte = digest[i]; if (byte < 0) byte += 256; byteStr = byte.toString(16); // Ensure we have 2 chars in our byte, pad with 0 if (byteStr.length == 1) byteStr = '0'+byteStr; str += byteStr; } return str; } function checkStatus(){ var i = 0; for(i=0; i<num.length; i++){ var response = UrlFetchApp.fetch("http://www.17track.net/r/handlertrack.ashx?callback=&num="+num[i][0]+"&pt=0&cm=0&cc=0&_="+Math.random()); UserProperties.setProperty("q", response.getContentText()); var result = Utilities.jsonParse(response.getContentText()); var sendstring = num[i][1]+": "; if(result["ret"] == 1){ if(result["dat"]["f"] == "0"){ sendstring += "Track code not found"; }else{ success = true; } }else{ sendstring += errors[result["msg"]] ? errors[result["msg"]] : "Please, leave comment on habrahabr, error message: "+result["msg"]; } if(success){ if(UserProperties.getProperty(num[i][0]) != result["dat"]["z"]["b"]){ translit = UrlFetchApp.fetch("http://translate.google.com/translate_a/t?client=t&q="+encodeURI(result["dat"]["z"]["b"])); translitobj = Utilities.jsonParse(translit.getContentText()); if(translitobj[0][0][3]){ for(z in translitobj[0]){ sendstring += translitobj[0][z][3]+" "; } }else{ sendstring += result["dat"]["z"]["b"]; } sendSMS(sendstring); UserProperties.setProperty(num[i][0], result["dat"]["z"]["b"]); success = false; } }else{ sendSMS(sendstring); } } }
var user = [ "%EMAIL1%", "%EMAIL2%", ... "%EMAILn%" ]; var num = [ ["%TRACKCODE1%", "%NAME1%"], ["%TRACKCODE2%", "%NAME2%"], ... ["%TRACKCODEn%", "%NAMEn%"], ]; var errors = { "hsErr": "Wrong hash", "unAllow": "You've changed parameter \"lo\" in query URL. Set it to \"www.17track.net\"", "hsNon": "There's no hash" } var success = false; function sendSMS(code, text){ var i = 0; for(i=0; i<user.length; i++){ MailApp.sendEmail(user[i], code, text); } } function digest2str(digest){ var str = ''; var i = 0; for (i=0; i<digest.length; i++) { byte = digest[i]; if (byte < 0) byte += 256; byteStr = byte.toString(16); if (byteStr.length == 1) byteStr = '0'+byteStr; str += byteStr; } return str; } function checkStatus(){ var i = 0; for(i=0; i<num.length; i++){ hashstr = num[i][0]+"{EDFCE98B-1CE6-4D87-8C4A-870D140B62BA}0{EDFCE98B-1CE6-4D87-8C4A-870D140B62BA}www.17track.net"; dig = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, hashstr); hs = digest2str(dig); var response = UrlFetchApp.fetch("http://s1.17track.net/Rest/HandlerTrackPost.ashx?lo=www.17track.net&num="+num[i][0]+"&hs="+hs); UserProperties.setProperty("q", response.getContentText()); var result = Utilities.jsonParse(response.getContentText().replace(/^\((.*)\)$/, "$1")); var code = num[i][1] var sendstring = ""; if(result["ret"] == 1){ if(result["dat"]["f"] == "0"){ sendstring += "Track code not found"; }else{ success = true; } }else{ sendstring += errors[result["msg"]] ? errors[result["msg"]] : "Please, leave comment on habrahabr, error message: "+result["msg"]; } if(success){ if(UserProperties.getProperty(num[i][0]) != result["dat"]["z"]["b"]){ sendstring += result["dat"]["z"]["b"]; sendSMS(code, sendstring); UserProperties.setProperty(num[i][0], result["dat"]["z"]["b"]); success = false; } }else{ sendSMS(code, sendstring); } } }
Source: https://habr.com/ru/post/186568/
All Articles