我正在尝试使用Google Drive SDK从我的Android应用程序在Google云端硬盘上创建新文档。我的身份验证工作正常,我已设法使用以下代码创建一个简单的文本文件:
// com.google.api.services.drive.model.File
File newFile = new File();
newFile.setTitle("Test");
newFile.setMimeType("text/plain");
String contentStr = "This is a test file";
try {
File insertedFile = drive.files().insert(
newFile, ByteArrayContent.fromString("text/plain", contentStr)).execute();
} catch (IOException e) {
e.printStackTrace();
}
如果我改变" text / plain"到" application / vnd.google-apps.document"并在没有任何内容的情况下插入文件,并在我的Google云端硬盘上创建新文档:
// com.google.api.services.drive.model.File
File newFile = new File();
newFile.setTitle("Test");
newFile.setMimeType("application/vnd.google-apps.document");
try {
File insertedFile = drive.files().insert(newFile).execute();
} catch (IOException e) {
e.printStackTrace();
}
但是我想上传一个包含内容的新文档,但是使用与纯文本文件相同的方法:
// com.google.api.services.drive.model.File
File newFile = new File();
newFile.setTitle("Test");
String fileType = "application/vnd.google-apps.document";
newFile.setMimeType(fileType);
try {
File insertedFile = drive.files().insert(
newFile, ByteArrayContent.fromString(fileType, contentStr)).execute();
} catch (IOException e) {
e.printStackTrace();
}
我收到此错误:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Bad Request",
"reason" : "badRequest"
} ],
"message" : "Bad Request"
}
并且没有创建文件。请有人帮帮我吗?
答案 0 :(得分:1)
mime类型必须是源文档的mime类型,例如text / plan或text / HTML。如果您使用convert = true上传,则云端硬盘上的结果文件将具有mime类型的application / vnd.google-apps.document。