• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    Apps script משהו מכיר? חייב עזרה בזה...

    מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
    123 פוסטים 5 כותבים 68 צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • N מנותק
      nhfk sbhtk @יב
      נערך לאחרונה על ידי

      @יב PlayStop
      ApiRealDID
      ApiTime
      ApiCallId
      ApiYFCallId
      ApiExtension
      ApiDID
      what
      ApiPhone

      י תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • י מחובר
        יב @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 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);
          }
        }
        

        כמובן תעשה שוב פריסה חדשה (כנ"ל)
        ותכניס את הקישור החדש בשלוחה.
        תעדכן איך זה נראה.

        N תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • N מנותק
          nhfk sbhtk @יב
          נערך לאחרונה על ידי

          @יב גאון
          זה עובד
          חסר רק משך האזנה...
          איך אני יכול שגם מי שלא סיים זה נרשם?
          אני יכול לשכפל את זה לכל השלוחות?

          י תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • י מחובר
            יב @nhfk sbhtk
            נערך לאחרונה על ידי

            @nhfk-sbhtk תוכל לכתוב לי מה הערך של הפרמטר PlayStop שקיבלת?
            מה מופיע שם?

            N תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • N מנותק
              nhfk sbhtk @יב
              נערך לאחרונה על ידי

              @יב ריק שם

              י 2 תגובות תגובה אחרונה תגובה ציטוט 0
              • י מחובר
                יב @nhfk sbhtk
                נערך לאחרונה על ידי

                @nhfk-sbhtk אוקיי (נראה בעיקרון זה מגיע עם ערך -1, שזה אומר שהוא שמע את כל הקובץ).
                בכל אופן יש דרך לחשב את זה, אבל זה דורש הרבה מחשבה, לחשב את אורך ההשמעה וכו'...

                מה שכן, אני חושב ש @cubase עשה משהו נפלא באמצעות שליחת API אחרי כל קובץ.
                אולי הוא יודע איך לכוון את המאזין לקובץ הבא - בפרט שאתה הגדרת start=min.

                כמובן, אני חושב שאפשר גם כי המקש שמיועד להעביר את הקובץ (לדוגמא 8 ) יכולים להגדיר שיישלח API, ואז בפרמטר PlayStop מגיע זמן ההשמעה - לא בדקתי!

                N תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • N מנותק
                  nhfk sbhtk @יב
                  נערך לאחרונה על ידי

                  @יב אז אני אחכה לתגובה שלו?
                  כרגע זה רושם רק מי שסיים ולא מי שנכנס לשלוחה.
                  ומה אתה אומר, אני יכול לשכפל את זה ככה לכל השלוחות?
                  אני ממש מודה לך על הסבלנות והעזרה

                  י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • י מחובר
                    יב @nhfk sbhtk
                    נערך לאחרונה על ידי

                    @nhfk-sbhtk אני הייתי מעדיף לראות שזה עובד פרפקט, אחרת תצטרך לשנות את כל ההגדרות של השלוחה.

                    N C 2 תגובות תגובה אחרונה תגובה ציטוט 0
                    • N מנותק
                      nhfk sbhtk @יב
                      נערך לאחרונה על ידי

                      @יב בינתיים הוא רושם לי נתוני מאזינים שנכנסים

                      תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • C מנותק
                        CUBASE @יב
                        נערך לאחרונה על ידי

                        @יב לא הבנתי כ"כ בשביל מה תייגת אותי, אין לי כח לקרוא את כל השרשור הזה אז אולי תכתוב בקצרה מה הבעיה?

                        י תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • י מחובר
                          יב @CUBASE
                          נערך לאחרונה על ידי

                          @CUBASE בעצם לעצם העניין כבר שאלתי כאן, וכבר ענית שם.

                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • י מחובר
                            יב @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);
                              }
                            }
                            

                            תעשה פריסה מחדש.
                            זה אמור לשלוח אותך לקובץ הבא (לגבי משך זמן לא מצאתי פתרון כעת)

                            תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • פוסט ראשון
                              פוסט אחרון