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

    שאלה בחיבור API מגוגל סקריפט

    פורום מפתחים API
    13
    52
    2091
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • מ
      מיכאלוש נערך לאחרונה על ידי

      אני מנסה להתחבר ב API מגוגל סקריפט למערכת שלי בימות לצורך קבלת נתונים מקובץ ymgr במערכת (במודל קבלת נתונים)
      ע"י הסקריפט הבא :

      function toyemot() {
       
      //                משתנים לעריכת המשתמש
      const number = '**********'   //  :מספר המערכת
      const pass = '******'         //  :סיסמא
      const extension = '*'         //  :מספר השלוחה
      const name = 'ApprovalAll.ymgr'//  :שם הקובץ
      //             עד כאן משתנים לעריכת המשתמש
      
      const url = ('https://www.call2all.co.il/ym/api/');
      const token = (number + ':' + pass);
      const path = ('ivr2:' + extension + '/');
      downloadFile()
       
      function DownloadFile() {
      const download = JSON.parse(UrlFetchApp.fetch(url + 'DownloadFile?' + token + path + name));
      if (download.responseStatus === 'OK') {
      var recipient = download.p050
      var subject = download.p051
      var body = download.p052
       }
      }
      

      כמובן הסקריפט מיועד לעבוד עם עוד פונקציות לדוגמא להעביר את הנתונים לעמודות בגוגל שיטס
      הסקריפט מחזיר כמה שגיאות אבל לפני שאטפל בהם יש לי מספר שאלות

      • איך מקבלים נתונים רק מערך אחד בעמודה בקובץ ?
        בסקריפט כתבתי בשורות 17-19 עם נקודה זה הצורה הנכונה ?
        והאם עדיף לעבוד עם הקובץ בסיומת ymgr או html
      • איך מתקשרים עם הקבצים שנמצאים בתיקיית ApprovalOk שהשם שלהם כולל מספר מספרים בלתי צפויים ?
        האם יש דרך לעקוף את השם המלא של הקובץ או רק ע"י הפקודהGetIVR2Dir ואז לחכות לתגובת השרת ועל פי זה לבנות את שם הקובץ

      @מנסה ראיתי פה שאתה מבין בגוגל סקריפט

      E A ב 3 תגובות תגובה אחרונה תגובה ציטוט 1
      • E
        eliyahu ניהול @מיכאלוש נערך לאחרונה על ידי eliyahu

        @מיכאלוש אמר בשאלה בחיבור API מגוגל סקריפט:

        השם שלהם כולל מספר מספרים בלתי צפויים

        לא ממש...
        השם מורכב ממספר ההזמנה + זמן ביצוע (unix time)

        תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • A
          amp Software 0 @מיכאלוש נערך לאחרונה על ידי amp Software 0

          @מיכאלוש
          ביצעתי בעבר כמה פרוייקטים מהסוג הזה של תקשור עם הקבצים של ימות.
          אתה מנסה לממש המרה של קובץ ימות באמצעות js (שבזה משתמשים בגוגל סקריפט) לאובייקט מסוג json.
          אם כן, אתה חייב שהפורמט של הקובץ בימות יהיה מתאים להמרה ל- json.
          אם כן, הקובץ בסיומת HTML ודאי לא מתאים לך, כי אין שום קשר בינו לבין הפורמט של json
          הקובץ בסיומת ymgr הוא מצויין, צריך לעשות בו התאמה מסויימת והוא יתאים לפורמט json

          אז ככה,
          הפורמט של קובץ ymgr הוא:
          key1#value1%key2#value2
          key1#value1%key2#value2

          כלומר: מפריד # בין ה key ל value, מפריד % בין ערך לערך, ומפריד של ירידת שורה בין רשומה לרשומה
          הפורמט של json הוא
          {key1:value1,key2:value2},{key1:value1,key2:value2}
          כלומר: מפריד : בין ה key ל value, מפריד , בין ערך לערך, וסוגריים מסולסלות {} מקיפות כל איבר עם הפרדת ,.

          אם כן, אתה צריך לעשות החלפה של כל ה ה # ב :, את כל ה % ב , ואת כל הירידת שורה ל },{
          תוסיף את השורות האלו לקוד (החלפתי את ה const ל var, יותר נכון לכאורה)

          var download = UrlFetchApp.fetch(url + 'DownloadFile?' + token + path + name);
          download = '[{"' + download;
          download = download.replace(/#/g, '":"');
          download = download.replace(/%/g, '","');
          download = download.replace(/\n/g, '"},{"');
          download = download + '"}]';
          var file = JSON.parse(download);
          

          מה שקיבלת כרגע זה את כל הקובץ באובייקט json במבנה של מערך המכיל את כל השורות, כאשר כל שורה מחולקת לאיברים של key ו value
          כעת כדי לגשת לערך כל שהוא בקובץ את צריך לציין מספר שורה ו key או לחילופין לרוץ על כל המערך.
          לדוגמא:

          var folder = file[0]["Folder];
          var P050 = file[0]["P050"];
          

          או

          for (r=0;r<file.length;r++){
          Logger.log(file[r]["Folder"]);
          }
          

          לגבי שמות הקבצים,
          לכאורה אתה חייב את השם המלא, אבל לשם מה אתה צריך את הקבצים מהתיקיה ההיא?

          E שמואל מ 3 תגובות תגובה אחרונה תגובה ציטוט 3
          • E
            eliyahu ניהול @amp Software 0 נערך לאחרונה על ידי eliyahu

            @amp-Software-0
            יש ws מיוחד שממיר קבצי ymgr לjson

            https://call2all.co.il/ym/api/renderFile?wath=ivr2:OK/ApprovalAll.ymgr&convertType=json&token=****
            
            A N A מ צ 5 תגובות תגובה אחרונה תגובה ציטוט 10
            • A
              amp Software 0 @eliyahu נערך לאחרונה על ידי

              @eliyahu לא ידעתי על זה.
              זה באמת כלי מצויין
              איפה התיעוד של זה?

              תגובה 1 תגובה אחרונה תגובה ציטוט 2
              • N
                nyh @eliyahu נערך לאחרונה על ידי

                @eliyahu אמר בשאלה בחיבור API מגוגל סקריפט:

                @amp-Software-0
                יש ws מיוחד שממיר קבצי ymgr לjson

                https://call2all.co.il/ym/api/renderFile?wath=ivr2:OK/ApprovalAll.ymgr&convertType=json&token=****
                

                זה עוזר מאוד! איפה כל הדברים האלה מתועדים?

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

                  @eliyahu למה אין את זה בתיעוד??? 7ממה למה עוד אפשר להמיר שם?

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

                    @avrham אמר בשאלה בחיבור API מגוגל סקריפט:

                    למה עוד אפשר להמיר שם

                    csv
                    html

                    A 6 2 תגובות תגובה אחרונה תגובה ציטוט 3
                    • A
                      amp Software 0 @eliyahu נערך לאחרונה על ידי

                      @eliyahu
                      חבל באמת שאין תיעוד לזה..
                      היה לי מחשבה בעבר ליצור api להמרת קבצי ymgr לפורמטים שונים
                      זה דבר מאוד נצרך!

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

                        @amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:

                        (החלפתי את ה const ל var, יותר נכון לכאורה)

                        אם אתה מגיע מעולם ה JavaScript של 2013 אתה צודק.
                        כיום זה חד משמעית לא נכון בשום צורה.

                        לפניות בנוגע לפורום: shmuel@yemot.co.il

                        A תגובה 1 תגובה אחרונה תגובה ציטוט 3
                        • A
                          amp Software 0 @שמואל נערך לאחרונה על ידי

                          @שמואל מה הפירוש? אם הייתי משתמש עם const לא הייתי יכול להגדיר אותו מחדש
                          ??

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

                            @amp-Software-0 על let שמעת? 🤔
                            נ.ב. replace מחליף רק פעם אחת. בשביל להחליף יותר מפעם אחת צריך להשתמש בreplaceAll
                            אבל כמובן כל זה לא רלוונטי למעשה, כיוון שיש API מוכן לזה.

                            A תגובה 1 תגובה אחרונה תגובה ציטוט 2
                            • 6
                              613 @eliyahu נערך לאחרונה על ידי 613

                              @avrham אמר בשאלה בחיבור API מגוגל סקריפט:

                              ממה למה עוד אפשר להמיר שם?

                              @eliyahu אמר בשאלה בחיבור API מגוגל סקריפט:

                              @avrham אמר בשאלה בחיבור API מגוגל סקריפט:

                              למה עוד אפשר להמיר שם

                              csv
                              html

                              למה = json, html , csv
                              ממה = ymgr

                              תגובה 1 תגובה אחרונה תגובה ציטוט 4
                              • A
                                amp Software 0 @צדיק תמים נערך לאחרונה על ידי

                                @צדיק-תמים
                                נכון, אפשרי גם let (רק שיש לו הגבלות בנוגע לתחום ההצהרה שלו, אז יותר פשוט ה var)
                                בכל מקרה זה לא נוגע לדיון המקורי..
                                לגבי ה replace השתמשתי עם ביטוי רגלורלי (g) זה מחליף את הכל
                                תבדוק

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

                                  @amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:

                                  נכון, אפשרי גם let (רק שיש לו הגבלות בנוגע לתחום ההצהרה שלו, אז יותר פשוט ה var)

                                  הגבלות מועילות מאוד, הצהרה חוצת סקופים היא דבר רע שעלול לגרום להתנהגות לא צפויה
                                  לא סתם הוסיפו את זה לשפה

                                  תגובה 1 תגובה אחרונה תגובה ציטוט 2
                                  • מ
                                    מיכאלוש @eliyahu נערך לאחרונה על ידי eliyahu

                                    @eliyahu אמר בשאלה בחיבור API מגוגל סקריפט:

                                    יש ws מיוחד שממיר קבצי ymgr לjson

                                    https://call2all.co.il/ym/api/renderFile?wath=ivr2:OK/ApprovalAll.ymgr&convertType=json&token=****
                                    

                                    מה פירוש השגיאה שמופיעה לי ?

                                    {
                                    "responseStatus":"Exception",
                                    "message":"wath is required",
                                    "file":"renderFile.ym",
                                    "Line":"12:19",
                                    "yALogsVersion":"1.0.7"
                                    }
                                    

                                    @amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:

                                    אבל לשם מה אתה צריך את הקבצים מהתיקיה ההיא?

                                    למניעת כפילויות חשבתי אולי להשתמש בקבצים שבתיקייה הזאת שבהם אחרי שקיבלתי את הנתונים אני יכול למחוק את הקבצים למניעת כפילויות
                                    אבל אם זה לא אפשרי ללא שם מלא של הקובץ אני ישתמש בקבצים שבתיקייה הראשית ואצטרך למצוא פתרון אחר למניעת כפילויות

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

                                      @מיכאלוש אמר בשאלה בחיבור API מגוגל סקריפט:

                                      מה פירוש השגיאה שמופיעה לי ?

                                      כתוב בהודעה שחסר את פרמטר wath

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

                                        @eliyahu אולי לא מילאתי אותו נכון ?
                                        איך ממלאים אותו כך ?

                                        https://call2all.co.il/ym/api/renderFile?wath=ivr2/1:OK/ApprovalOk.ymgr&convertType=json&token=0733******:123456
                                        
                                        ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                        • ש
                                          שמחה - זו הסיסמא @מיכאלוש נערך לאחרונה על ידי שמחה - זו הסיסמא

                                          @מיכאלוש אמר בשאלה בחיבור API מגוגל סקריפט:

                                          https://call2all.co.il/ym/api/renderFile?wath=ivr2/1:OK/ApprovalOk.ymgr&convertType=json&token=0733******:123456

                                          במקום / שים :
                                          ivr2:

                                          מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • מ
                                            מיכאלוש @שמחה - זו הסיסמא נערך לאחרונה על ידי

                                            @שמחה-זו-הסיסמא השגיאה עדיין מופיעה לי 😢
                                            {"responseStatus":"Exception","message":"Error retrieving file path information","file":"renderFile.ym","Line":"20:19","yALogsVersion":"1.0.7"}
                                            מה לא נכון בצורה שהגדרתי את הנתיב לקובץ ?
                                            הקובץ נמצא בשלוחה 1 וזה השם המלא שלו ?

                                            wath=ivr2:1:OK/ApprovalOk.ymgr
                                            
                                            ש תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון