我正在开发GAE java应用程序,我需要将PDF文件上传到用户的谷歌驱动器,但上传总是失败,我不知道什么可能是错的,因为我已经检查了几个代码示例。
import com.google.api.services.drive.Drive;
import com.google.api.services.drive.model.File;
.
.
.
byte[] pdfContent = <... 52kb PDF file ...>
ByteArrayContent mediaContent = new ByteArrayContent("application/pdf", pdfContent);
File myPDF = new File();
myPDF.setTitle("Sample PDF");
myPDF.setDescription("Sample PDF");
Drive driveService = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, getStoredCredential()).build();
Drive.Files.Insert insert = driveService.files().insert(hugePDF, mediaContent);
insert.getMediaHttpUploader().setChunkSize(1024 * 1024);
File file = insert.execute();
此上传代码始终显示错误:400 OK
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}
我正在使用Google驱动程序库:google-api-services-drive-v2-rev1-1.7.2-beta.jar
凭据很好,因为我能够从用户的google驱动器列出或下载文件。
答案 0 :(得分:1)
我认为问题出在您的图书馆版本中。当前版本为v2-rev39-1.12.0-beta。检查http://code.google.com/p/google-api-java-client/wiki/APIs#Drive_API。使用最新的API库版本总是更好。当我们错过一次更新时,我们遇到了很多关于BigQuery API的问题。