2

저는 G 드라이브 API에서 작업 중이며 Windows 8 용 JavaScript를 사용하여 업로드, 삭제 및 파일 및 폴더 업데이트를 다운로드하고 있습니다. 내가 만난 두 가지 문제가있다.Google 드라이브 API javascript를 사용하여 파일을 업로드하거나 업데이트 할 때 제목이 '제목 없음'입니까?

  1. "UNTITLED"라는 제목으로 파일 또는 폴더를 업로드하면 내가 잘못하고있는 것을 말해 줄 수 있습니까? 내 요청은 이렇게 보입니다.
    1. 내가 응답 텍스트에서 내가 JFIF를 내려면 JPEG 이미지를 다운로드하는 경우처럼 나는 암호화 된받을 파일 또는 응답의 몇 가지 독특한 유형을 다운로드
      WinJs.xhr ({ 
           url: 'https://www.googleapis.com/upload/drive/v2/files?uploadType=media', 
          type: "post", 
          headers: { "Authorization": "Bearer " + accessToken, },  
      
      data: { "mimeType": "application/vnd.google-apps.folder", "title": "sampleFolder2" } }).then 
      
      (function (success) { 
          var response = JSON.parse(success.response); 
          },  
          function (error) { 
          console.log(error); 
      
          }); 
      
    . 왜 그런지 말해 줄 수 있니? 내 디스크에 파일을 다운로드 할 수 없습니다. ..?

여기에는 미디어를 사용하여 uploadtype 파일을 삽입하는 완전한 기능이 있습니다.

function insertFile(accessToken) { 

     var openPicker = new Windows.Storage.Pickers.FileOpenPicker(); 
     openPicker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail; 
     openPicker.fileTypeFilter.replaceAll([".png", ".jpg", ".jpeg", ".txt"]); 
     openPicker.pickSingleFileAsync().then(function (file) { 
      if (file) { 
       var tMeta = { 
        title: file.name, 
        mimeType: file.contentType, 
        description: "xyz description." 
       }; 
       WinJS.xhr({ 
        url: 'https://www.googleapis.com/upload/drive/v2/files?uploadType=media', 
        type: "post", 
        headers: { 
         "Authorization": "Bearer " + accessToken, 
         'Content-Type': file.contentType, 
         'Title': file.name 
        }, 
        body: tMeta, 

       }).then(function (success) { 
        var response = JSON.parse(success.response); 
        var file1 = response; 
        secondRequest(accessToken, file1 , file); 


       }, function (error) { 
        var x = 4; 
       }); 

      } 
     }); 


    } 

    function secondRequest(accessToken, file1,file) { 

     var x = 2; 


     var tMeta = { 
      title: file.name, 
      mimeType: file1.mimeType, 
      // description: "xyz description." 
     }; 

     var URL = 'https://www.googleapis.com/upload/drive/v2/files/' + file1.id + '?uploadType=media' 
     WinJS.xhr({ 
      url: URL, 
      type: "put", 
      headers: { 
       "Authorization": "Bearer " + accessToken, 
       'Content-Type': file1.mimeType, 
       'Title': file.name 
      }, 
      body: tMeta, 

      data: MSApp.createFileFromStorageFile(file) 


     }).then(function (success) { 

      var secondResponse = JSON.parse(success.response); 

      var z = 3; 
     }), function (error) { 

      var x = 3; 
     } 


    } 

답변

2

파일과 함께 메타 데이터를 업로드하려면 multipart 업로드를 구현해야합니다. https://developers.google.com/drive/manage-uploads#multipart

+0

멀티 파트를 사용했지만 문제의 절반 만 해결하고 제목은 설정되지만 파일을 미리 볼 수는 없지만 미디어를 업로드 유형으로 사용하면 파일을 미리 볼 수 있지만 제목이 설정되지 않았습니다. 위의 그림은 업로드 유형으로 MEDIA를 사용한 완전한 삽입 기능입니다. – user2418457