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

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

    מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
    76 פוסטים 4 כותבים 24 צפיות 2 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • י מנותק
      יב @nhfk sbhtk
      נערך לאחרונה על ידי

      @nhfk-sbhtk את זה אתה צריך להגדיר בקוד.
      תנסה רגע להתקשר.
      ותוסיף בקוד (לא בשלוחה) שלך ככה;

      function doGet(e) {
        try {
            const params = e.parameter || {};
            Logger.log(`פרמטרים שהתקבלו: ${JSON.stringify(params)}`);
          
        } catch (error) {
          
              Logger.log(`שגיאה ב-${error}`);
          
              return ContentService.createTextOutput(`שגיאה: 
        
            }   
          }
      
      N תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • N מנותק
        nhfk sbhtk @יב
        נערך לאחרונה על ידי

        @יב מספיק שאני עושה שמירה או שאני צריך להוציא קישור מחדש?

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

          @nhfk-sbhtk יותר מדוייק, מה שאתה בעיקר צריך להוסיף זה את השורות האלו

                const params = e.parameter || {};
                Logger.log(`פרמטרים שהתקבלו: ${JSON.stringify(params)}`);
          

          מה שזה עושה - סך הכל אתה תראה לוג בתוך הסקריפט, מה הם הפרמטרים שהתקבלו, ומה הערך שלהם.
          כך תדע לפחות אם זה מה שאתה רוצה או לא.

          doGet(e) הכוונה שמי שמקשר באמצעות גט, וה הברירת מחדל של ימות, כל הפרמטרים נכנסים תחת הe.
          כדי לדעת מה יש בe. - אתה מכניס את כולם במשנה params, ואומר לקוד לכתוב לוג, מה התוכן של params.
          תשמור, אתה לא מוכרח לעשות פריסה מחדש, אבל כן צריך לעשות עריכת פריסה.

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

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

            לעשות

            אני עושה לו הרצה הוא כותב לי שגיאה על כל הקוד שיש לי שם

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

              @nhfk-sbhtk
              תעתיק את הקוד של הסקריפט.....
              אולי אוכל לעזור

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

                @יב אני ממש מעריך את העזרה שלך
                function doGet(e) {
                var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

                var phone = e.parameter.phone || '';
                var extension = e.parameter.extension || '';
                var enterTime = e.parameter.time || '';
                var length = e.parameter.length || '';

                var now = new Date();
                var dateString = Utilities.formatDate(now, "Asia/Jerusalem", "dd/MM/yyyy");

                sheet.appendRow([dateString, enterTime, phone, extension, length]);

                return ContentService.createTextOutput("Success");
                } const params = e.parameter || {};
                Logger.log(פרמטרים שהתקבלו: ${JSON.stringify(params)});

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

                  @nhfk-sbhtk בגדול אני רואה שמיקמת את זה מחוץ לסוגריים של הפונקציה.
                  תנסה כך

                  function doGet(e) {
                    try {
                      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
                      
                      var params = e.parameter || {};
                      var phone = params.phone || '';
                      var extension = params.extension || '';
                      var enterTime = params.time || '';
                      var length = params.length || '';
                  
                         // תכתוב את זה כאן
                      Logger.log(`פרמטרים שהתקבלו: ${JSON.stringify(params)}`);
                      
                      var now = new Date();
                      var dateString = Utilities.formatDate(now, "Asia/Jerusalem", "dd/MM/yyyy");
                      
                      sheet.appendRow([dateString, enterTime, phone, extension, length]);
                      
                      return ContentService.createTextOutput("Success");
                      
                    } catch (error) {
                      return ContentService.createTextOutput("Error: " + error.toString());
                    }
                  }
                  

                  חוץ מזה תיקח בחשבון שאין מענה לימות בחזרה

                  תנסה.
                  עריכה: תעשה פריסה מחדש.

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

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

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

                      @nhfk-sbhtk כן.
                      זה יעבוד רק אם מתקשרים (כי זה doget), זה לא יעשה כלום אם אתה מפעיל מהעורך.

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

                        @יב לקוח שמתקשר הנתונים נקלטים אוטומטי - זה המטרה.
                        וכתבת לי בקוד תכתוב את זה כאן, למה התכוונת?

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

                          @nhfk-sbhtk כי זה היה מחוץ לפונקציה.
                          לא משנה - זה עובד?
                          מה הפרמטרים שאתה מקבל?

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

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

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

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

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

                                @יב 33abb470-9b8d-4586-83c4-0af898b2d56d-image.png

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

                                  אין יומנים זמינים הוא כותב

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

                                    @nhfk-sbhtk כשאתה מקיש על הושלמה.
                                    מה הוא כותב?

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

                                      @יב אין יומנים זמינים

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

                                        @nhfk-sbhtk מעניין
                                        תן לי לחשוב כמה דקות.

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

                                          @nhfk-sbhtk תנסה רגע לכתוב בשלוחה רק ככה

                                          type=api
                                          api_link=כאן הקישור המלא
                                          api_hangup_send=no
                                          

                                          ובסקריפט ככה

                                          function doGet(e) {
                                            try {
                                              Logger.log("--- התחלת ריצה: פונקציית doGet הופעלה ---");
                                              
                                              // בדיקה אם התקבלו פרמטרים בכלל
                                              if (!e || !e.parameter) {
                                                Logger.log("אזהרה: לא התקבלו פרמטרים בבקשה (e.parameter ריק)");
                                              } else {
                                                Logger.log("פרמטרים גולמיים שהתקבלו: " + JSON.stringify(e.parameter));
                                              }
                                          
                                              var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
                                              Logger.log("התחברות לגיליון בוצעה בהצלחה: " + sheet.getName());
                                              
                                              // שליפת הפרמטרים
                                              var params = e.parameter || {};
                                              var phone = params.ApiPhone || 'חסר';
                                              var extension = params.ApiExtension || 'חסר';
                                              var apiTime = params.ApiTime || null;
                                              var length = params.length || '0';
                                              
                                              Logger.log("עיבוד נתונים: טלפון=" + phone + ", שלוחה=" + extension + ", זמן_מערכת=" + apiTime);
                                              
                                              // טיפול בזמן
                                              var now = new Date();
                                              if (apiTime) {
                                                now = new Date(apiTime * 1000);
                                                Logger.log("בוצעה המרת זמן מ-ApiTime: " + now.toString());
                                              } else {
                                                Logger.log("לא התקבל ApiTime, משתמש בזמן הנוכחי של השרת");
                                              }
                                          
                                              var dateString = Utilities.formatDate(now, "Asia/Jerusalem", "dd/MM/yyyy");
                                              var timeString = Utilities.formatDate(now, "Asia/Jerusalem", "HH:mm:ss");
                                              
                                              // הכנת השורה לכתיבה
                                              var rowData = [dateString, timeString, phone, extension, length];
                                              Logger.log("מנסה לכתוב שורה לגיליון: " + JSON.stringify(rowData));
                                              
                                              sheet.appendRow(rowData);
                                              Logger.log("השורה נכתבה בהצלחה.");
                                              
                                              return ContentService.createTextOutput("read=t-Success");
                                              
                                            } catch (error) {
                                              Logger.log("שגיאה קריטית בתהליך: " + error.toString());
                                              return ContentService.createTextOutput("read=t-Error&error_message=" + encodeURIComponent(error.toString()));
                                            }
                                          }
                                          
                                          N תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • N מנותק
                                            nhfk sbhtk @יב
                                            נערך לאחרונה על ידי

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

                                            type=api
                                            api_link=כאן הקישור המלא
                                            api_hangup_send=no

                                            תראה את זה:66ee25fd-22f8-43eb-ada5-f741bc011df7-image.png

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