נפתר מישהו יודע מה משמעות השגיאה?
-
@זרח זה אומר שהמערך ריק ולכן גם הרשימה של המספרים...
-
@שמואל-ש
אבל העלתי למעלה תמונה של הגליון, ויש בו 2 מספרים.וכאן, זה בסדר?
-
@זרח אולי תעשה
if (sheet) { var data = sheet.getRange('A2:A' + sheet.getLastRow()).getValues(); Logger.log(data); var rowIds = []; // מצא מזהה ייחודי של המספרים ברשימת התפוצה מתוך טווח בגיליון for (var i = 0; i < data.length; i++) { if (data[i][3] === condition) { rowIds.push(data[i][2]); } } Logger.log(rowIds); Logger.log(rowIds.join('-')); var payload = { "token": token, "templateId": templateId, "rowids": rowIds.join('-'), "action": action }; var options = { "method": "get", "contentType": "application/json", "payload": payload }; var response = UrlFetchApp.fetch(apiUrl + '?token=' + token + '&templateId=' + templateId + '&rowids=' + rowIds.join('-') + '&action=' + action, options); Logger.log(response.getContentText()); } else { Logger.log("גיליון 'רשימת תפוצה' לא נמצא"); } }
לראות את התגובה מהשיטס
כנראה יש טעות בקריאה - אין לי זמן להתעמק -
@שמואל-ש
בסדר. אל תגזים, ניסית יותר מידי.
אני רק מעלה את התוצאה, אולי תבוא ישועה בהמשך.17:10:50 הודעה ההפעלה התחילה 17:10:51 מידע [[1.98149995E8], [1.98694679E8]] 17:10:51 מידע [] 17:10:51 מידע 17:10:51 מידע {"responseStatus":"ERROR","message":"rowids value is invalid","messageCode":130,"yemotAPIVersion":6} 17:10:52 הודעה ההפעלה הושלמה
-
@זרח לכאורה הבעיה טמונה בשורה הזאת
if (data[i][3] === condition) {
אתה יודע מה התנאי פה? לכאורה זה לא נכון או משהו כזה ולכן לא נכנס שום ערך במערך
-
@שמואל-ש
באמת לא אמור להיות תנאי,
מלבד התנאי TRUE בעמודה G (זה כתוב בתחילת הקוד)אז למחוק את כל הקטע או רק את השורה הזאת?
טוב, אני כבר אנסה, לא נעים לי ממך. -
ניסיתי למחוק את כל הקטע, זו אותה תוצאה.
(סימן שזה באמת מיותר לכאורה)
אבל עדיין משהו חסר. -
@זרח תביא את כל הקוד מההתחלה
-
@שמואל-ש הנה:
function updateTemplateEntries() { var token = "0XXXXXXXXX:XXXXXX"; var templateId = "111111"; var condition = true; // תנאי מעמודה G var action = "unblock"; // אפשרויות: block, unblock, delete var apiUrl = "https://private.call2all.co.il/ym/api/UpdateTemplateEntries"; var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('רשימת תפוצה'); if (sheet) { var data = sheet.getRange('A2:A' + sheet.getLastRow()).getValues(); Logger.log(data); var rowIds = []; Logger.log(rowIds); Logger.log(rowIds.join('-')); var payload = { "token": token, "templateId": templateId, "rowids": rowIds.join('-'), "action": action }; var options = { "method": "get", "contentType": "application/json", "payload": payload }; var response = UrlFetchApp.fetch(apiUrl + '?token=' + token + '&templateId=' + templateId + '&rowids=' + rowIds.join('-') + '&action=' + action, options); Logger.log(response.getContentText()); } else { Logger.log("גיליון 'רשימת תפוצה' לא נמצא"); } }
מחקתי את הקטע עם ה IF שהיה שם
-
דרך אגב,
לדעתי הוא לא בודק את התנאי בעמודה G לפי כל שורה, אולי זה גם בעיה
אבל לא משנה, הסקריפט יהיה מצוין גם בלי תנאי.
כלומר, שיקח את כל הרשימה ויהפוך אותה לפעילה -
@זרח מה קורה ככה
function updateTemplateEntries() { var token = "0XXXXXXXXX:XXXXXX"; var templateId = "111111"; var condition = true; // תנאי מעמודה G var action = "unblock"; // אפשרויות: block, unblock, delete var apiUrl = "https://private.call2all.co.il/ym/api/UpdateTemplateEntries"; var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('רשימת תפוצה'); if (sheet) { var data = sheet.getRange('A2:A' + sheet.getLastRow()).getValues(); Logger.log(data); var rowIds = []; for (var i = 0; i < data.length; i++) { rowIds.push(data[i][2]); } Logger.log(rowIds); Logger.log(rowIds.join('-')); var payload = { "token": token, "templateId": templateId, "rowids": rowIds.join('-'), "action": action }; var options = { "method": "get", "contentType": "application/json", "payload": payload }; var response = UrlFetchApp.fetch(apiUrl + '?token=' + token + '&templateId=' + templateId + '&rowids=' + rowIds.join('-') + '&action=' + action, options); Logger.log(response.getContentText()); } else { Logger.log("גיליון 'רשימת תפוצה' לא נמצא"); } }
?
-
@שמואל-ש כתב במישהו יודע מה משמעות השגיאה?:
@זרח מה קורה ככה
הרבה יותר טוב:20:50:47 הודעה ההפעלה התחילה 20:50:48 מידע [[1.98149995E8], [1.98694679E8]] 20:50:48 מידע [null, null] 20:50:48 מידע - 20:50:49 מידע {"responseStatus":"EXCEPTION","exceptionClass":"SQLGrammarException","exceptionMessage":"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1","nestedException":{"responseStatus":"EXCEPTION","exceptionClass":"MySQLSyntaxErrorException","exceptionMessage":"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1","nestedException":null,"yemotAPIVersion":6},"yemotAPIVersion":6} 20:50:49 הודעה ההפעלה הושלמה
-
@זרח לכאורה זה אמור להיות ככה
rowIds.push(data[i]);
-
@שמואל-ש
מזל טוב!
אין לי מילים להודות לך, על הסבלנות.
ירבו כמותך.23:21:09 הודעה ההפעלה התחילה 23:21:08 מידע [[1.98149995E8], [1.98694679E8]] 23:21:08 מידע [[1.98149995E8], [1.98694679E8]] 23:21:08 מידע 198149995-198694679 23:21:09 מידע {"responseStatus":"OK","message":"ok","yemotAPIVersion":6} 23:21:12 הודעה ההפעלה הושלמה
-
-