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

    העלת קובץ בודד בapi

    מתוזמן נעוץ נעול הועבר פורום מפתחים API
    40 פוסטים 6 כותבים 309 צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • א מחובר
      אופיר @החסיד
      נערך לאחרונה על ידי אופיר

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

      • fileName - שם הקובץ כפי שהוא מופיע בגוגל דרייב (כולל סיומת).
      • token - טוקן ההתחברות למערכת (מפתח API).
      • targetPath - הנתיב המלא ויעד שמירת הקובץ במערכת, כולל סיומת (לדוגמה: ivr2:1/M1000.wav).
      • autoNumbering - האם למספר את הקובץ אוטומטית בשלוחה. ברירת מחדל (אם לא צויין) היא לא.
      • הפונקציה מחזירה אובייקט JSON המכיל את תגובת השרת ימות המשיח.
      function uploadFileToYemot(fileName, token, targetPath, autoNumbering = false) {
        const url = "https://www.call2all.co.il/ym/api/UploadFile";
        const extension = targetPath.split('.').pop().toLowerCase();
        
        const tts = extension === "tts";
        let convertAudio = (extension !== "tts" && extension !== "wav");
        
        if (autoNumbering) {
        //התנאי הזה נוסף בעקבות באג פנימי של ימות בהעלאת קבצים עם מספור אוטומטי.
          convertAudio = true;
        }
      
        const fileBlob = DriveApp.getFilesByName(fileName).next().getBlob();
      
        const payload = {
          token: token,
          path: targetPath,
          file: fileBlob,
          autoNumbering: autoNumbering ? 1 : 0,
          convertAudio: convertAudio ? 1 : 0,
          tts: tts ? 1 : 0
        };
      
        const options = {
          method: "post",
          payload: payload
        };
      
        const response = UrlFetchApp.fetch(url, options);
        return JSON.parse(response.getContentText());
      }
      

      דוגמה לשימוש:

      uploadFileToYemot("תפריט ראשי.mp3", "מפתח API...", "ivr2:/M1000.wav");
      
      ה תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • ה מחובר
        החסיד @אופיר
        נערך לאחרונה על ידי

        @אופיר
        באמת תודה על התשובה שלך, נתת לזה דוגמה באמת ברורה, אבל זה עדיין לא עובד.
        שיניתי את הפרמטר של 'qqfile' ל-'file', ואת כל הפרמטרים האחרים כתבתי כמו שאמרת, ואני עדיין מקבל שגיאה על הטוקן.
        וכמו שאמרתי מקודם, אם אני מכניס את הטוקן להURL, אז אני כבר לא מקבל שגיאה על הטוקן אבל אני מקבל אז שגיאה על השלוחה, ואם אני מכניס גם את זה להURL אני מקבל שגיאה על הקובץ, שזה אני כבר לא יכול לשים בהURL.
        אז אני אשמח אם אתה יכול להגיד לי אם אתה רואה משהו אחר שלא כתבתי נכון בצילום המסך הקודם שלי (יש לי שמה מערך בשם files עם קבצי שמע, וכדי לראות אם זה עובד, אני מנסה את זה על הblob הראשון שבמערך).
        וחוץ מזה אני לא מבין בדיוק, האם אני צריך לציין גם את הסיומת אפילו אם אני מגדיר שזה יעלה אוטומטי להקובץ הגבוה ביותר בהשלוחה (autoNumbering = true)?
        איך זה עובד יחד? (אולי זה בעצם הבעייה שלי?)

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

          @החסיד כתב:

          אולי זה בעצם הבעייה שלי?

          נכון.
          א"א גם שם קובץ וגם מספור אוטומטי
          תכתוב:

          path=ivr2:/6/1/1
          

          בכל אופן כדאי לך לשים לב להערה שבאמצע הקוד שלי, תצטרך לשלוח תמיד גם פרמטר:

          convertAudio = true
          
          ה תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • ה מחובר
            החסיד @אופיר
            נערך לאחרונה על ידי

            @אופיר
            שוב פעם תודה על התשובה, אבל זה עדיין לא עובד.
            לגבי ההערה באמצע הקוד, ראיתי את זה ובסך הכל הבנתי מזה שאם אני משתמש עם מספור אוטומטי אז אני חייב גם להשתמש עם המרה לwav וזה בדיוק מה שעשיתי.
            הנה צילומים מכל מה שעשיתי:
            כשאני שולח הטוקן בpost ולא בתוך הurl אני מקבל את השגיאה הבאה:
            Screenshot 2026-06-22 134124.png

            כשאני עושה כנ"ל להשלוחה אני מקבל השגיה הבאה:
            Screenshot 2026-06-22 134504.png

            אם אני שם את שתיהם בתוך הurl הנה השגיאה:
            Screenshot 2026-06-22 134301.png

            עכשיו, לגבי מה שאתה אומר שזה לא יכול להיות שתיהם, גם קובץ הגבוה אוטומטי וגם לציין מספר קובץ, הנה מה שקורא כשאני לא שם את מספר הקובץ:
            Screenshot 2026-06-22 134347.png

            ודרך אגב עכשיו ניסיתי את הקוד שנתת וזה גם לא עובד, הנה איך שהשתמשתי עם זה והשגיאה שזה נותן:
            Screenshot 2026-06-22 124748.png

            ניסיתי את זה גם כשהפרמטר הרביעי זה true וגם כשזה false, גם עם מספר קובץ וגם בלי.

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

            הנה קוד קטן שכתבתי רק כדי למצוא איפה בדיוק הבעיה שלי אבל עדיין לא הצלחתי למצוא אותה.
            הקוד אמור להעלות קובץ שמע שמצורף להאימייל האחרון, להמערכת (לפני שניסיתי את זה שלחתי לעצמי מייל עם קובץ מצורף אחד , כמובן קובץ שמע) אולי פה אתה כן יכול למצוא למה זה לא עובד?
            Screenshot 2026-06-22 142712.png

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

              עכשיו אני רואה שיש " ,' " מיותרים אחרי המילה wav בהצילום מסך האחרון אבל זה לא קשור לזה, גם כשאני מסיר את זה זה לא עובד.

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

                @החסיד תעביר את הטוקן בpayload ולא כפרמטרים.

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

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

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

                    @החסיד זה קוד שעובד לי בgoogle script

                    const TOKEN = ""
                    const YEMOT_URL = "https://www.call2all.co.il/ym/api/"
                    
                    
                    function UploadFile(path, blob){
                      const formData = {
                        token: TOKEN,
                        path: `ivr2:/${path}.wav`,
                        convertAudio: "1", // ברירת מחדל: המרת אודיו
                        autoNumbering: "false", // ברירת מחדל: מספור אוטומטי
                        file: blob // צרוף ה-Blob של הקובץ
                      };
                      const options = {
                        method: 'post',
                        payload: formData,
                      };
                      return JSON.parse(UrlFetchApp.fetch(`${YEMOT_URL}UploadFile`, options)).responseStatus === "OK";
                    }
                    

                    שים לב שהטוקן חייב להיות טוקן אמיתי ולא מספר מערכת:סיסמא.

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

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

                      screenshot-2026-06-22-142712.png

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

                        @החסיד
                        התגובה שחוזרת היא שלא נמצא קובץ להעלאה.
                        או ששם הקובץ שגוי או שהנתיב שגוי.
                        הקוד עובד מצויין.

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

                          @החסיד
                          תמחוק מיד את כל התמונות שהעלאת!!!
                          העלאת עם טוקן שלך

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

                            @אA
                            אני יודע מה השגיאה הזאת אומרת, זה לא הבעיה שלי.
                            אני שואל למה אני מקבל את השגיאה הזאת, למרות שכתבתי הכל נכון ויש באמת קובץ שמע בהמערך 'attachments'.
                            לגבי הטוקן, אל תדאג, אין מה לראות בהמערכת שלי...

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

                              @החסיד אולי זה שאלה מציקה, אבל מאיפה אתה בטוח שיש קובץ ב-attachments? תנסה להוסיף כתיבה ללוג של גודל הקובץ (לדוגמה) של attachments[0] בכדי לוודא.

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

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

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

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

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

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

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

                                      @החסיד מתקבלת אותה שגיאה? (חסר קובץ?)

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

                                        @אופיר
                                        כן

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

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

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

                                            @אופיר
                                            אשמח לנסות

                                            א תגובה 1 תגובה אחרונה תגובה ציטוט 0

                                            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                            נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                            הרשמה התחברות
                                            • פוסט ראשון
                                              פוסט אחרון