Apps script משהו מכיר? חייב עזרה בזה...
-
@יב PlayStop
ApiRealDID
ApiTime
ApiCallId
ApiYFCallId
ApiExtension
ApiDID
what
ApiPhone -
@nhfk-sbhtk תנסה רגע ככה
function doGet(e) { try { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var params = (e && e.parameter) ? e.parameter : {}; var phone = params.ApiPhone || ''; var extension = params.ApiExtension || ''; var callId = params.ApiCallId || ''; var fileName = params.what || ''; var playStop = params.PlayStop || ''; var apiTime = params.ApiTime || Math.floor(Date.now() / 1000); var dateObj = new Date(apiTime * 1000); var dateString = Utilities.formatDate(dateObj, "Asia/Jerusalem", "dd/MM/yyyy"); var timeString = Utilities.formatDate(dateObj, "Asia/Jerusalem", "HH:mm:ss"); // סידור השורה בגיליון: תאריך | שעה | טלפון | שלוחה | משך זמן (כרגע לא פעיל) | שם קובץ var rowData = [ dateString, timeString, phone, extension, "", fileName ]; sheet.appendRow(rowData); return ContentService.createTextOutput("בוצעה בהצלחה") .setMimeType(ContentService.MimeType.TEXT); } catch (error) { return ContentService.createTextOutput("שגיאה מהשרת") .setMimeType(ContentService.MimeType.TEXT); } }כמובן תעשה שוב פריסה חדשה (כנ"ל)
ותכניס את הקישור החדש בשלוחה.
תעדכן איך זה נראה. -
@יב גאון
זה עובד
חסר רק משך האזנה...
איך אני יכול שגם מי שלא סיים זה נרשם?
אני יכול לשכפל את זה לכל השלוחות? -
@nhfk-sbhtk תוכל לכתוב לי מה הערך של הפרמטר
PlayStopשקיבלת?
מה מופיע שם? -
@יב ריק שם
-
@nhfk-sbhtk אוקיי (נראה בעיקרון זה מגיע עם ערך -1, שזה אומר שהוא שמע את כל הקובץ).
בכל אופן יש דרך לחשב את זה, אבל זה דורש הרבה מחשבה, לחשב את אורך ההשמעה וכו'...מה שכן, אני חושב ש @cubase עשה משהו נפלא באמצעות שליחת API אחרי כל קובץ.
אולי הוא יודע איך לכוון את המאזין לקובץ הבא - בפרט שאתה הגדרתstart=min.כמובן, אני חושב שאפשר גם כי המקש שמיועד להעביר את הקובץ (לדוגמא 8 ) יכולים להגדיר שיישלח API, ואז בפרמטר PlayStop מגיע זמן ההשמעה - לא בדקתי!
-
@יב אז אני אחכה לתגובה שלו?
כרגע זה רושם רק מי שסיים ולא מי שנכנס לשלוחה.
ומה אתה אומר, אני יכול לשכפל את זה ככה לכל השלוחות?
אני ממש מודה לך על הסבלנות והעזרה -
@nhfk-sbhtk אני הייתי מעדיף לראות שזה עובד פרפקט, אחרת תצטרך לשנות את כל ההגדרות של השלוחה.
-
@יב בינתיים הוא רושם לי נתוני מאזינים שנכנסים
-
@יב לא הבנתי כ"כ בשביל מה תייגת אותי, אין לי כח לקרוא את כל השרשור הזה אז אולי תכתוב בקצרה מה הבעיה?
-
-
@nhfk-sbhtk אולי תנסה לעדכן את הקוד שלך ככה
function doGet(e) { try { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var params = (e && e.parameter) ? e.parameter : {}; var phone = params.ApiPhone || ''; var extension = params.ApiExtension || ''; var what = params.what || ''; var apiTime = params.ApiTime || Math.floor(Date.now() / 1000); var nextFileResponse = ""; if (what !== "" && extension !== "") { var parts = what.split('/'); var fileNameWithExt = parts[parts.length - 1]; var currentFileNumber = parseInt(fileNameWithExt.replace('.wav', '')); if (!isNaN(currentFileNumber)) { var nextFileNumber = currentFileNumber + 1; var folderPath = extension.startsWith('/') ? extension : '/' + extension; nextFileResponse = "go_to_folder_and_play=" + folderPath + "," + nextFileNumber; } } var dateObj = new Date(apiTime * 1000); var rowData = [ Utilities.formatDate(dateObj, "Asia/Jerusalem", "dd/MM/yyyy"), Utilities.formatDate(dateObj, "Asia/Jerusalem", "HH:mm:ss"), phone, extension, "", // משך זמן (לא פעיל כרגע) what ]; sheet.appendRow(rowData); var finalOutput = nextFileResponse || "id_list_message=t-לא נמצא קובץ תקין"; return ContentService.createTextOutput(finalOutput) .setMimeType(ContentService.MimeType.TEXT); } catch (error) { return ContentService.createTextOutput("id_list_message=t-שגיאה כללית") .setMimeType(ContentService.MimeType.TEXT); } }תעשה פריסה מחדש.
זה אמור לשלוח אותך לקובץ הבא (לגבי משך זמן לא מצאתי פתרון כעת)