להפוך את כל רשימת התפוצה לפעילה - unblock ב-API
-
@מנסה כתב בלהפוך את כל רשימת התפוצה לפעילה - unblock ב-API:
תשתמש בהעלאת רשימה, והגדרה כפעילה
[תוריד את הרשימה ותעלה מחדש]העלאה מחדש ממש לא טובה לי, כי זה משנה את הID של האנשים.
-
אם אתה עובד עם גוגל סקריפט תסדר לולאה שרצה על השורות ומעדכנת את הסטסוס של כל אחד [תוכל גם לסמן למי כן ולמי לא בגוגל שיטס ע"י הוספת תנאי בתיבת סימון בכל שורה וכדו']
וכמובן לא התכוונתי להעלאה ידנית
יש API מובנה למשוך ולהעלות נתונים לרשימ"ת -
@מנסה
אה. יש מצב שאתה מכוון אותי יותר?
כלומר, יש לי טבלה עם שמות. שהיא בעצם מקבלת את הנתונים מימות
לפי מה שכתוב: ב https://f2.freeivr.co.il/post/119196
אז אני אוסיף עוד עמודה עם תיבות סימון / סיפרה נניח 1 = חסום, 2 = פעיל וכו'
מה שאני לא יודע זה איך עושים את הלולאות האלו.
אני חלש בלייצר סקריפטים. -
אל תוסיף 1 ו2 אלא תיבת סימון
זה נמצא בתפריט הוספה
ונראה בתא ככה
אם יש וי ערך התא הוא true =נכון, אם ריק הערך הוא false = לא נכון
ואז תריץ סקריפט שבודק בטור שבו הוי או אין וי,
והוא אומר אם בתא C2 יש וי, קח את מספר מתא B2 ועדכן אותו כפעיל ברימה תפוצה פלונית במערכת פלונית עם סיסמה אלמונית
ואם אין וי עדכן את המספר כחסום / מחק את המספר [תוכל להגדיר מראש מה אתה רוצה]הסקריפט ירוץ על כל הטור עד התא הריק בטור b
זאת כמובן דוגמא בקצרה
[אל תשכח שגוגל סקריפט עושה בעיות להתממשקות עם ימות ועליך להשיג טוקן חיצוני בשביל עבודה רציפה]
-
@מנסה
תודה, הבנתי אותך.
אבל רק אם נוח לך, וזה לא ניצול, שתעלה את הסקריפט עצמו
כלומר איך אני כותב בסקריפט חפש לי את...
אני כבר אסתדר עם הטוקן, ועם הממשק של ימות.
אני רק לא יודע איך לכתוב לו לחפש במסמך.
שוב תודה על כל ההסבר, עד כאן. -
בשבילך מבינה'לה
כדי לבצע את מה שאתה מבקש בגוגל שיטס, ניתן להשתמש ב-Google Apps Script, אשר מאפשר ליצור סקריפטים מותאמים אישית ולבצע אוטומציות בגיליונות. הנה קוד לדוגמה שיכול לעזור לך:
פתח את גוגל שיטס שלך.
לחץ על Extensions (תוספים) > Apps Script (סקריפט של אפליקציות).
מחק את כל הקוד הקיים והוסף את הקוד הבא:function runOnSheet() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getDataRange().getValues(); for (var i = 1; i < data.length; i++) { // מתחילים מ-1 כדי לדלג על כותרות אם ישנן var valueInD = data[i][3]; // טור D var valueInC = data[i][2]; // טור C if (valueInD === true) { functionA(valueInC); } else if (valueInD === false) { functionB(valueInC); } } } function functionA(value) { // לוגיקה לפונקציה A Logger.log("Function A with value: " + value); } function functionB(value) { // לוגיקה לפונקציה B Logger.log("Function B with value: " + value); }
-
@מנסה
תודה אלוף!
בסוף נזכרתי שאפשר להעזר בבינה.
אז גם אני ניסיתי, וזו התוצאה:
[לתועלת הרבים שיראו את הפוסט הזה]function updateTemplateEntries() { var token = "0xxxxxxxx:xxxx"; var templateId = "xxxxxx"; var condition = true; // תנאי מעמודה G var action = "unblock"; // אפשרויות: block, unblock, delete var apiUrl = "https://www.call2all.co.il/ym/api/UpdateTemplateEntries"; var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('רשימת תפוצה'); if (sheet) { var data = sheet.getRange('C1:F' + sheet.getLastRow()).getValues(); var rowIds = []; // מצא מזהה ייחודי של המספרים ברשימת התפוצה מתוך טווח בגיליון for (var i = 0; i < data.length; i++) { if (data[i][3] === condition) { rowIds.push(data[i][2]); } } 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("גיליון 'רשימת תפוצה' לא נמצא"); } }
-
פוסט זה נמחק! -
@מנסה כתב בלהפוך את כל רשימת התפוצה לפעילה - unblock ב-API:
בשבילך מבינה'לה
כדי לבצע את מה שאתה מבקש בגוגל שיטס, ניתן להשתמש ב-Google Apps Script, אשר מאפשר ליצור סקריפטים מותאמים אישית ולבצע אוטומציות בגיליונות. הנה קוד לדוגמה שיכול לעזור לך:
פתח את גוגל שיטס שלך.
לחץ על Extensions (תוספים) > Apps Script (סקריפט של אפליקציות).
מחק את כל הקוד הקיים והוסף את הקוד הבא:function runOnSheet() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getDataRange().getValues(); for (var i = 1; i < data.length; i++) { // מתחילים מ-1 כדי לדלג על כותרות אם ישנן var valueInD = data[i][3]; // טור D var valueInC = data[i][2]; // טור C if (valueInD === true) { functionA(valueInC); } else if (valueInD === false) { functionB(valueInC); } } } function functionA(value) { // לוגיקה לפונקציה A Logger.log("Function A with value: " + value); } function functionB(value) { // לוגיקה לפונקציה B Logger.log("Function B with value: " + value); }
בטור C
אמור להיות ה rowids
נכון?
שזה בעצם המספר מזהה. -
איך עכשיו משלבים את שתי הפונקציות?