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

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

    עזרה הדדית למשתמשים מתקדמים
    3
    13
    353
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • 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
                        • פוסט ראשון
                          פוסט אחרון