【发布时间】:2015-09-07 13:50:18
【问题描述】:
我已成功收到来自电子邮件的 pdf 文件,但我必须将该 Pdf 文件存储到谷歌驱动器中。这是我的代码
private static void uploadFile(InputStream is) {
com.google.api.services.drive.model.File fileMetadata = new com.google.api.services.drive.model.File();
fileMetadata.setTitle(fileName);
fileMetadata.setMimeType("application/pdf");
HttpTransport httpTransport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();
AppIdentityCredential credential = new AppIdentityCredential.Builder(Arrays.asList(DriveScopes.DRIVE)).build();
// API_KEY is from the Google Console as a server API key
GoogleClientRequestInitializer keyInitializer = new CommonGoogleClientRequestInitializer("My API_key here");
Drive service = new Drive.Builder(httpTransport, jsonFactory, null)
.setApplicationName("My app name here")
.setHttpRequestInitializer(credential)
.setGoogleClientRequestInitializer(keyInitializer)
.build();
try {
Drive.Files.Insert in= service.files().insert(fileMetadata, new InputStreamContent("application/pdf",is));
com.google.api.services.drive.model.File retFile =in.execute();
if(retFile!=null){
System.out.println("Drive retFile:"+retFile.getTitle());
}
} catch (IOException e) {
System.out.println("Drive Error:"+e.toString());
}
}
我已检查关联帐户 Google Drive 没有上传任何内容。
过去 1 周我在 Google 上搜索过,但没有找到将文件从 GAE 上传到 Google Dive 的任何明确文档。
提前谢谢...
【问题讨论】:
-
很高兴您发布了您的解决方案。这对未来的用户非常有帮助。您认为您可以将您的解决方案作为您自己问题的“答案”发布吗?这通常是在stackoverflow上完成的。祝你有美好的一天!
标签: java google-app-engine oauth google-drive-api