upload file into google drive using java api

前端 未结 3 879
后悔当初
后悔当初 2021-01-16 17:50
DocsService client = new DocsService(\"service name\");
client.setUserCredentials(username,password);
File file = new File(filename);
URL url = new URL(\"https://doc         


        
相关标签:
3条回答
  • 2021-01-16 18:04

    can guide you with this

    <input id="file-pdf" type="file" name="file-pdf"> 
    <button id="submit-pdf">submit</button>
    

    //javascripts

    $("#submit-pdf").click(function() {
    var inputFileImage = document.getElementById("file-pdf");
    var file = inputFileImage.files[0];
    var data = new FormData();
    data.append("file-pdf",file);
    $.ajax({
    url:   "uploadpdf",
    type:  'POST',
    cache : false,
    data : data,
    processData : false,
    contentType : false,
    dataType: "json",       
    success:  function (response) {        
       if(response.success){
          console.log("ok");
       }else{
           console.log("fail");
       }
    
    }
    });    
    });
    

    for servlet here function to save to drive

     //parentId  ID folder drive
     public static File insertFile(GoogleCredential credential,String title, String parentId, String mimeType, String filename, InputStream stream) {
    
        try {
                 Drive driveService = new Drive.Builder(httpTransport, jsonFactory, null).setApplicationName("DRIVE_TEST").setHttpRequestInitializer(credential).build();
    
                // File's metadata.
                File body = new File();
                body.setTitle(title);
                body.setMimeType(mimeType);
    
                // Set the parent folder.
                if (parentId != null && parentId.length() > 0) {
                  body.setParents(
                      Arrays.asList(new ParentReference().setId(parentId)));
                }
    
                // File's content.
                InputStreamContent mediaContent = new InputStreamContent(mimeType, new BufferedInputStream(stream));  
                try {
                  File file = driveService.files().insert(body, mediaContent).execute();
    
                  return file;
                } catch (IOException e) {
                  logger.log(Level.WARNING, "un error en drive service: "+ e);
                  return null;
                }
    
        } catch (IOException e1) {
               // TODO Auto-generated catch block
               e1.printStackTrace();
               return null;
        }
    
      }
    
    0 讨论(0)
  • 2021-01-16 18:20

    I know this question is quite old ,but now google has official support for Java drive api,there is a quick sample to start integrating Drive API with java application. Download drive API client jar files from here

    and if you are developing your application from Java SE don't forget to put servlet api.jar on class path or else you will end up with lot of errors.

    0 讨论(0)
  • 2021-01-16 18:27

    As far as I know (its been a few month since I looked) this is not (yet?) supported by the google drive API. As a workaround consider installing the native google drive share and write the files you want to upload into the locally mapped shared folder. Then its google drives problem to handle the upload.

    0 讨论(0)
提交回复
热议问题