@שמואל-ש
באמת לא אמור להיות תנאי,
מלבד התנאי TRUE בעמודה G (זה כתוב בתחילת הקוד)
אז למחוק את כל הקטע או רק את השורה הזאת?
טוב, אני כבר אנסה, לא נעים לי ממך.
@שמואל-ש כתב במישהו יודע מה משמעות השגיאה?:
וכאמור תעשה הדפסה ללוג של rowIds ושל rowIds.join(' - ')
אממ...
אני לא יודע לעשות את זה... סליחה
זה נבנה בAI עם קצת הדרכה אנושית
@זרח כתב במישהו יודע מה משמעות השגיאה?:
אני לא יודע לעשות את זה... סליחה
if (sheet) {
var data = sheet.getRange('A2:A' + sheet.getLastRow()).getValues();
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("גיליון 'רשימת תפוצה' לא נמצא");
}
}
@שמואל-ש
באמת תודה!
אבל משהו עדיין חסר:
16:44:47 הודעה ההפעלה התחילה 16:44:49 מידע [] 16:44:49 מידע 16:44:49 מידע {"responseStatus":"ERROR","message":"rowids value is invalid","messageCode":130,"yemotAPIVersion":6} 16:44:50 הודעה ההפעלה הושלמה
אולי הסוגריים המרובעים, הם באמת טעות?
@זרח זה אומר שהמערך ריק ולכן גם הרשימה של המספרים...
@שמואל-ש
אבל העלתי למעלה תמונה של הגליון, ויש בו 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 הודעה ההפעלה הושלמה