使用Java将文件上传到特定的Google驱动器帐户

时间:2018-11-25 20:20:20

标签: java rest file web gapi

我在一个网站heruko中托管了一个应用程序。

我希望用户能够在网站上输入一些文本(使用输入文本或其他内容),然后我想获取该文本,从中创建一个.txt文件,然后将其上传到我的Google驱动器

我有用Java编写的服务器端。 看起来像:

@WebServlet( name = "uploadServlet", urlPatterns = {"/uploadFile"} )

public class uploadFIleServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    ServletOutputStream out = resp.getOutputStream();
    out.write("hello omer you won".getBytes());

    File fileMetadata = new File();
    fileMetadata.setName("omer.txt");
    java.io.File filePath = new java.io.File("omer.txt");
    FileContent mediaContent = new FileContent("image/jpeg", filePath);
    ....
    //Send file to my google drive account using my email and password.
    //Send file to my google drive account using my email and password.
    //Send file to my google drive account using my email and password.
    //Send file to my google drive account using my email and password.
    //Send file to my google drive account using my email and password.
    //Send file to my google drive account using my email and password.
    ....
    System.out.println("File ID: " + file.getId());

    out.flush();
    out.close();
}

}

当客户端请求/ uploadFile url时,将执行上述“ doGet”功能。到目前为止一切顺利。

然后,我不知道什么代码可以执行我想要的操作,因为我在google文档中找到的所有内容都要求用户登录到他们的google驱动器,我不想发生什么。

我希望用户能够在我的应用程序中放置文本,以便将其作为.txt文件发送到我的Google云端硬盘帐户。

我不在乎将我的电子邮件和密码放在Java代码中!

那我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:1)

到底是什么问题?如果您的方法中包含此文件,请创建一些对象来处理发出的HTTP请求。使用您的凭据将文本文件发布到Google驱动器。您可以找到很多很好的库来发出http请求,例如:https://github.com/Iprogrammerr/Gentle-Request 使用我的库的伪代码:

ServletOutputStream out = resp.getOutputStream();
out.write("hello omer you won".getBytes());

File fileMetadata = new File();
fileMetadata.setName("omer.txt");
java.io.File filePath = new java.io.File("omer.txt");
FileContent mediaContent = new FileContent("image/jpeg", filePath);
Connections connections = new HttpConnections();
Response response = connections.response(new PostRequest("google-url", new AuthorizationHeader("whatever google want to authorize your account"), fileMetadata);

System.out.println("File ID: " + file.getId());

out.flush();
out.close();