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

    העלאת קובץ מגוגל דרייב למערכת דרך api

    עזרה הדדית למשתמשים מתקדמים
    3
    13
    353
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • A
      amp Software 0 @האדם החושב נערך לאחרונה על ידי amp Software 0

      איפה אתה מצהיר על המשתנה token ?

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

        @amp-Software-0 בפונקצייה נפרדת, כפי שאמרתי, הטוקן תקין לגמרי

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

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

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

            @amp-Software-0 הטוקן עובד לי בהעלאת קבצי טקסט, שליחת צינתוקים, עריכת קמפיינים ועוד
            ב logger.log(token) מודפס לי הטוקן

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

              @האדם-החושב יכול להיות שאתה שולח את הטוקן בget בעוד הבקשה היא בפוסט?

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

                @אביי-ורבא אני לא כ"כ מבין בזה, אבל הטוקן נמצא בdata_3

                let data_3 = {  'token': token,'path': "ivr2:/0/M1012.wav", 'convertAudio': 1, autoNumbering: false, tts:0,'upload': blob }
                

                שנשלח בפוסט למיטב הבנתי

                let options_3 = { 'method': 'post','headers': headers, 'payload': data_3};
                
                A תגובה 1 תגובה אחרונה תגובה ציטוט 1
                • A
                  amp Software 0 @האדם החושב נערך לאחרונה על ידי

                  @האדם-החושב
                  תנסה לצרף את הטוקן url עצמו כ GET כדי לבודד את הבעיה:

                  let request_3 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadFile?token=` + token, options_3))
                  
                  ה תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • ה
                    האדם החושב @amp Software 0 נערך לאחרונה על ידי

                    @amp-Software-0 כתב בהעלאת קובץ מגוגל דרייב למערכת דרך api:

                    • token

                    עזר לטוקן, אבל עכשיו אני נתקל בשגיאה של הנתיב:
                    { responseStatus: 'ERROR',
                    message: 'path is required',
                    messageCode: 109,
                    yemotAPIVersion: 6,
                    success: false }

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

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

                      תנסה את זה:

                      function UploadFile_to_yemot(){
                      let file_link = SpreadsheetApp.getActiveSheet().getRange('VoiceMail!B6').getValue();
                      let fileid = file_link.split(/\/file\/d\/([^\/]+)/)[1];
                      console.log (fileid)
                      let file = DriveApp.getFileById(fileid);
                      let blob = file.getBlob();
                      let headers = {'Content-type': 'multipart/form-data'};
                      
                        var formData = new FormData();
                        formData.append('token', token);
                        formData.append('path', "ivr2:/0/M1012.wav");
                        formData.append('convertAudio', 1);
                        formData.append('autoNumbering', false);
                        formData.append('tts', 0);
                        formData.append('upload', blob);
                      
                      let options_3 = { 'method': 'post','headers': headers, 'payload': formData};
                      let request_3 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadFile`, options_3))
                      console.log(request_3)
                      }
                      
                      ה תגובה 1 תגובה אחרונה תגובה ציטוט 1
                      • ה
                        האדם החושב @amp Software 0 נערך לאחרונה על ידי

                        @amp-Software-0
                        ReferenceError: FormData is not defined

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

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

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

                            @האדם-החושב נסה להשתמש עם זה:

                            (ההדפסות ללוג מכוונות)

                            function sendToYemot(file, path) {
                              let convert = '1';
                              let autoNumbering = 'false';
                            
                              Logger.log(`yemot: path=ivr2:/${path}, convertAudio=${convert}, autoNumbering=${autoNumbering}`)
                            
                              let data = { 'token': token_yemot, 'path': `ivr2:/${path}`, 'convertAudio': convert, 'autoNumbering': autoNumbering, 'contents': file };
                              let options = { 'method': 'post', 'payload': data };
                              let request = UrlFetchApp.fetch(`${url_yemot_api}UploadFile`, options);
                              let yemotJson = JSON.parse(request.getContentText());
                            
                              Logger.log("סטטוס התגובה: " + request.getResponseCode() + "\nוטקסט התגובה הוא: " + request.getContentText())
                              
                              if (request.getResponseCode() == 200 && yemotJson.responseStatus == 'OK') {
                                return true;
                              } else {
                                errorMessages.push(`שגיאה: העלאת הקובץ ${file.getName()} לנתיב ivr2:/${path} עם הפרמטרים convertAudio=${convert}, autoNumbering=${autoNumbering} נכשלה. להלן טקסט התגובה: ${request.getResponseCode()}, ${request.getContentText()}`);
                                return false;
                              }
                            }
                            
                            תגובה 1 תגובה אחרונה תגובה ציטוט 2
                            • פוסט ראשון
                              פוסט אחרון