我在一个网站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代码中!
那我该怎么办?
谢谢!
答案 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();