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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. המשך: העלאת קבצים גדולים לגוגל דרייב באמצעות גוגל סקריפט

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

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 395 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אבייא מנותק
    אבייא מנותק
    אביי
    כתב ב נערך לאחרונה על ידי
    #1

    תגובה: העלאת קבצים גדולים לגוגל דרייב API

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

     function upload_to_drive() {
    
        let myfile = "[file]"
        let blobfile = myfile.getBlob();
        blobtype = blobfile.getContentType();
    
        var fileId1 = blobfile; //id of the first file
        var fileId2 = "1eJOyc4tGv4a71aEwnJiSh8NVENRCZ2XI"; //id of the second file
        var filename = "merged.pdf"; //name of the final merged file
        var mimeType = MimeType.PDF; //Mime type of the merged file
    
        //declare the end point
        const url = "https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable";
    
        //Send the request
        //Method to be used is Post during initiation
        //No file is to be sent during initiation
        //The file name and the mime type are sent
        const res1 = UrlFetchApp.fetch(url, {
            method: "post",
            contentType: "application/json",
            payload: JSON.stringify({ name: filename, mimeType: mimeType }),
            headers: {
                authorization: "Bearer " + ScriptApp.getOAuthToken()
            }
        });
    
        const location = res1.getHeaders().Location;
    
        var file = blobfile; //get the first file
        var data = myfile.getBlob().myfile.getBytes(); //get its contents in bytes array
    
        //Method used is PUT not POST
        //Content-Range will contain the range from starting byte to ending byte, then a slash
        //and then file size
        //bytes array of file's blob is put in data
        var params = {
            method: "put",
            headers: {
                'Content-Range': `bytes 0-524287/687627`
            },
            payload: data,
            muteHttpExceptions: true
        };
    
        //Request using Resumable session URI, and above params as parameter
    
        var result = UrlFetchApp.fetch(location, params);
        /*
          //Almost same as Step 4 (a)
        //The thing that changes is Content Range
        file = DriveApp.getFileById(fileId2);
          data = file.getBlob().getBytes();
        
          params = {
            method : "put",
            headers : {
              'Content-Range' : `bytes 524288-687626/687627`
            },
            payload : data,
            muteHttpExceptions : true
          };
        
          result = UrlFetchApp.fetch(location, params);
          */
    }
    

    ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
    הלינקיה שלי https://abaye.co/link.html

    משתמש תמיםמ תגובה 1 תגובה אחרונה
    0
    • משתמש תמיםמ מנותק
      משתמש תמיםמ מנותק
      משתמש תמים
      השיב לאביי ב נערך לאחרונה על ידי
      #2

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

      עזרתי לך? תראה לי את זה על ידי לחיצה על ה^ בצד שמאל למטה.

      אבייא תגובה 1 תגובה אחרונה
      1
      • אבייא מנותק
        אבייא מנותק
        אביי
        השיב למשתמש תמים ב נערך לאחרונה על ידי
        #3

        @משתמש-תמים אמר בהמשך: העלאת קבצים גדולים לגוגל דרייב באמצעות גוגל סקריפט:

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

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

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

        ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
        הלינקיה שלי https://abaye.co/link.html

        תגובה 1 תגובה אחרונה
        1

        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

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