שליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט
-
@אביי-ורבא כן
function doPost(e)
ובמערכת הגדרתי ככה:
queue_api_send=yes queue_api_url_post=yes queue_api_link=https://script.google.com/macros/s/מזהה הפריסה/exec
-
@הללוהו ובלוג הפעלות של גוגל סקריפט מה מופיע?
-
@אביי-ורבא כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
@הללוהו ובלוג הפעלות של גוגל סקריפט מה מופיע?
"נכשלה".
איני מבין בלוג.. -
@הללוהו אז זה לא הבעיה, זה מתחבר מצויין, יש לך שגיאה כלשהי בסקריפט, תנסה לדבג עם פרמטרים לדוגמה בהפעלה רגילה ותוכל לראות בדיוק איפה זה נתקע
-
@אביי-ורבא כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
יש לך שגיאה כלשהי בסקריפט,
מצו"ב הסקריפט המלא :
function doPost(e) { try { // פרס את הנתונים שנשלחו בפורמט JSON Logger.log("מתחיל לעבד נתונים..."); var data = JSON.parse(e.postData.contents); Logger.log("נתונים שנקלטו: " + JSON.stringify(data)); // קבע את הגיליון שבו יוכנסו הנתונים var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("גיליון8"); // הכנס את התוכן שהתקבל לתא A12 - כדי שאדע אם התוכן בכלל מגיע - בינתיים זה לא עבד ולא נכנס לכאן כלום זה אומר שהתוכן משום מה לא הגיע ... sheet.getRange("A12").setValue(JSON.stringify(data)); // הפוך את הנתונים לשורה חדשה var newRow = []; var folderName = ""; // המרה של Folder למיקום טקסטי switch(data.Folder) { case "1": folderName = "פיצה"; break; case "2": folderName = "פלאפל"; break; default: folderName = "לא ידוע"; } // הוסף את הנתונים לשורה החדשה newRow.push(folderName); // עמודה A newRow.push(data.Phone); // עמודה B newRow.push(data.Date); // עמודה C newRow.push(data.Time); // עמודה D newRow.push(data.QueueStatus); // עמודה E newRow.push(data.AnswerNumber); // עמודה F newRow.push(data.QueueRecordPath); // עמודה G // הכנס את השורה החדשה לגיליון בשורה 2 sheet.insertRowBefore(2); sheet.getRange(2, 1, 1, newRow.length).setValues([newRow]); Logger.log("נתונים הוכנסו בהצלחה."); return ContentService.createTextOutput(JSON.stringify({ status: 'success' })); } catch (error) { Logger.log("שגיאה: " + error.message); return ContentService.createTextOutput(JSON.stringify({ status: 'error', message: error.message })); } }
@אביי-ורבא כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
תנסה לדבג עם פרמטרים לדוגמה בהפעלה רגילה ותוכל לראות בדיוק איפה זה נתקע
כשניסתי להריץ אותו מגוגל סקריפט עצמו כך:
function testDoPost() { var e = { postData: { contents: JSON.stringify({ Phone: "123456789", Date: "2023-10-01", Time: "10:00", Folder: "1", QueueStatus: "נמצא בתור", AnswerNumber: "5", QueueRecordPath: "/path" }) } }; doPost(e); }
הוא עבד כמו שצריך.
@אביי-ורבא כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
אז זה לא הבעיה, זה מתחבר מצויין,
בלוג אני רואה שהסקריפט מופעל בכל ניתוק שיחה, אבל בפועל שום דבר לא זז בשיטס.
-
@הללוהו אולי תנסה להוסיף את זה
Logger.log("e.postData: " + JSON.stringify(e.postData)); -
@הללוהו למיטב זכרוני השליחה מימות כpost לא שולחת את הנתונים במבנה json אלא כפרמטרים מופרדים ב& ו =
אגב, למה אתה לא שולח בget? -
@עידו כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
@הללוהו אולי תנסה להוסיף את זה
Logger.log("e.postData: " + JSON.stringify(e.postData));בהרצה כאפליקציית אינטרנט לא ניתן לראות את הלוגים, אא"כ מקשרים לפרויקט בGCP, ואז ניתן לראות את הלוגים דרך שם,
-
@האדם-החושב כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
למה שלא תשלח בget?
זה לא משנה, שפשוט יתקן את הקוד שלו בהתאם,
@הללוהו תשמור את כל postData לשדה בגוגל שיטס, ואז תראה את המבנה שבו זה מתקבל
-
@אביי-ורבא כתב בשליחת הסטטוס בסיום לקוח בתור - לגוגל סקריפט:
@הללוהו תשמור את כל postData לשדה בגוגל שיטס, ואז תראה את המבנה שבו זה מתקבל
איך אני עושה זאת?
בינתיים אני לא רואה שום תזוזה בגוגל שיטס בענין.
מה שמאוד מוזר ששמתי לב זה שבלוג אני רואה שהסקריפט הושלמה ומנגד אפילו פעולה פשוטה שתכניס לתוך תא מסוים את המילים "מעבד נתונים" בתחילת הרצת הסקריפט הוא לא עושה, אשמח למי שיחכים אותי בענין.
עשיתי כך:function doPost(e) { // קבע את הגיליון שבו יוכנסו הנתונים var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("גיליון8"); sheet.getRange("A12").setValue("מתחיל לעבד נתונים...");
ולא מופיע בתא A12 כלום...
ובלוג
עריכה: שמתי לב שגם כשאין שם סקריפט בכלל בלוג מופיע שהופעלה סקריפט זה והושלמה זה אומר שבאמת לא מופעל הסקריפט בכלל השאלה מה הסיבה לכך ומה הפתרון.