עזרה | ימות המשיח - שלוחת API ומעבר לשלוחה דינאמית ע"מ למנוע התנגשות בין 2 משתמשים
-
שלום לכולם.
יש לי קו בימות המשיח שהגדרתי שם שלוחת API בו הלקוחות שלי יכולים להתעדכן בסטטוס שלהם.
הבעיה היא שאם 2 משתמשים משתמשים עם המערכת בו זמנית, המידע של אחד מהם נדרס ואז שניהם שומעים נתונים אחידים ששייך לאחד מהם (וזה רק בשני משתמשים...)
אסביר בדוגמאות:
להלן הקוד בקובץ ini בימות, שלוחה 0/9:type=api api_link=https://script.google.com/macros/s/.../exec api_000=input,yes,10,1,7,Digits,no,no api_end_goto=/0/9/1 // כלומר: לאחר שליחת הנתונים לשרת API המשתמש מועבר לשלוחה 0/9/1להלן הקוד שלי בגוגל סקריפט:
function doGet(e) { const params = (e && e.parameter) ? e.parameter : {}; const input = params.input || ""; const responseText = getRentalData(input); // הפונקציה הזו עובדת - היא מחזירה את המידע עפ"י קוד ההשכרה שהוקש // העלאת ה-TTS לשלוחה היעד try { UrlFetchApp.fetch("https://call2all.co.il/ym/api/UploadTextFile", { method: "post", payload: { token: "הטוקן שלי", what: "ivr2:/0/9/1/000.tts", // שליחת התגובה לשלוחה 0/9/1 contents: responseText }, muteHttpExceptions: true }); } catch (err) { MailApp.sendEmail("myEmail@gmail.com", "שגיאה בשליחה", String(err)); } // תגובה לימות: מעבר לשלוחה return ContentService .createTextOutput(responseText) .setMimeType(ContentService.MimeType.TEXT); }נ.ב. חוץ מהבעיה שציינתי הכל עובד תקין, השרת מקבל את הבקשה, שולח נתונים, הנתונים נכנסים לשלוחה הייעודית ואני יכול לשמוע, הבעיה היא לא בקוד עצמו
-
שלום לכולם.
יש לי קו בימות המשיח שהגדרתי שם שלוחת API בו הלקוחות שלי יכולים להתעדכן בסטטוס שלהם.
הבעיה היא שאם 2 משתמשים משתמשים עם המערכת בו זמנית, המידע של אחד מהם נדרס ואז שניהם שומעים נתונים אחידים ששייך לאחד מהם (וזה רק בשני משתמשים...)
אסביר בדוגמאות:
להלן הקוד בקובץ ini בימות, שלוחה 0/9:type=api api_link=https://script.google.com/macros/s/.../exec api_000=input,yes,10,1,7,Digits,no,no api_end_goto=/0/9/1 // כלומר: לאחר שליחת הנתונים לשרת API המשתמש מועבר לשלוחה 0/9/1להלן הקוד שלי בגוגל סקריפט:
function doGet(e) { const params = (e && e.parameter) ? e.parameter : {}; const input = params.input || ""; const responseText = getRentalData(input); // הפונקציה הזו עובדת - היא מחזירה את המידע עפ"י קוד ההשכרה שהוקש // העלאת ה-TTS לשלוחה היעד try { UrlFetchApp.fetch("https://call2all.co.il/ym/api/UploadTextFile", { method: "post", payload: { token: "הטוקן שלי", what: "ivr2:/0/9/1/000.tts", // שליחת התגובה לשלוחה 0/9/1 contents: responseText }, muteHttpExceptions: true }); } catch (err) { MailApp.sendEmail("myEmail@gmail.com", "שגיאה בשליחה", String(err)); } // תגובה לימות: מעבר לשלוחה return ContentService .createTextOutput(responseText) .setMimeType(ContentService.MimeType.TEXT); }נ.ב. חוץ מהבעיה שציינתי הכל עובד תקין, השרת מקבל את הבקשה, שולח נתונים, הנתונים נכנסים לשלוחה הייעודית ואני יכול לשמוע, הבעיה היא לא בקוד עצמו
@Technologist כתב בעזרה | ימות המשיח - שלוחת API ומעבר לשלוחה דינאמית ע"מ למנוע התנגשות בין 2 משתמשים:
what: "ivr2:/0/9/1/000.tts", // שליחת התגובה לשלוחה 0/9/1לפי מה שאני מבין הבעיה שלך היא בשורה הזאת, כיוון שאתה שולח את הנתון הזה לשרת וקובע לו להקריא דווקא את קובץ 000 אז כשמישהו אחר נכנס הוא דורס את הנתונים הקודמים או שלא אבל שניהם שומעים את אותם נתונים, אתה צריך להפוך את זה לקובץ דינאמי לפי המספר של המתקשר או כל דבר אחר.
כדי שלא יהיה לך צרות בעתיד, אני מקווה שזה מפתח קבוע ולא עם סיסמת התחברות
token: "הטוקן שלי",תבדוק את זה, יכול להיות שאני טועה, אני לא מספיק מבין בזה, ואגב נראה לי הבחירה בגוגל סקריפט היא טעות כי הוא ממש איטי...
-
שלום לכולם.
יש לי קו בימות המשיח שהגדרתי שם שלוחת API בו הלקוחות שלי יכולים להתעדכן בסטטוס שלהם.
הבעיה היא שאם 2 משתמשים משתמשים עם המערכת בו זמנית, המידע של אחד מהם נדרס ואז שניהם שומעים נתונים אחידים ששייך לאחד מהם (וזה רק בשני משתמשים...)
אסביר בדוגמאות:
להלן הקוד בקובץ ini בימות, שלוחה 0/9:type=api api_link=https://script.google.com/macros/s/.../exec api_000=input,yes,10,1,7,Digits,no,no api_end_goto=/0/9/1 // כלומר: לאחר שליחת הנתונים לשרת API המשתמש מועבר לשלוחה 0/9/1להלן הקוד שלי בגוגל סקריפט:
function doGet(e) { const params = (e && e.parameter) ? e.parameter : {}; const input = params.input || ""; const responseText = getRentalData(input); // הפונקציה הזו עובדת - היא מחזירה את המידע עפ"י קוד ההשכרה שהוקש // העלאת ה-TTS לשלוחה היעד try { UrlFetchApp.fetch("https://call2all.co.il/ym/api/UploadTextFile", { method: "post", payload: { token: "הטוקן שלי", what: "ivr2:/0/9/1/000.tts", // שליחת התגובה לשלוחה 0/9/1 contents: responseText }, muteHttpExceptions: true }); } catch (err) { MailApp.sendEmail("myEmail@gmail.com", "שגיאה בשליחה", String(err)); } // תגובה לימות: מעבר לשלוחה return ContentService .createTextOutput(responseText) .setMimeType(ContentService.MimeType.TEXT); }נ.ב. חוץ מהבעיה שציינתי הכל עובד תקין, השרת מקבל את הבקשה, שולח נתונים, הנתונים נכנסים לשלוחה הייעודית ואני יכול לשמוע, הבעיה היא לא בקוד עצמו
-
@Technologist מה השאלה בעצם?
-
@צדיק-תמים אתה באמת שואל?
סתם מעניין אותי האם צדקתי...