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

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

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