我在google drive中创建了一个文档。我想使用google drive android sdk上传同一文档的新版本。我试过像
这样的代码try{
// First retrieve the file from the API.
File file = service.files().get(fileId).execute();
java.io.File fileContent = new java.io.File("sdcard0/temp/test.doc");
FileContent mediaContent = new FileContent("application/vnd.google-apps.document", fileContent);
File updatedFile = service.files().update(getID(), file, mediaContent).execute();
} catch (IOException e1) {
Log.d("","An error occurred: " + e1); //No i18n
} catch (Exception e){
Log.d("","EXCEPTION IN SAVING"+e); //No i18n
}
但docs.google.com中的内容似乎已损坏,如
如果我做错了,请指导我。
注意:相同的代码适用于上传的文档。
答案 0 :(得分:0)
您不能将这些修订用于google docs等原生格式。那些有自己的api来修改它们。例如,电子表格包含电子表格Feed api。
答案 1 :(得分:0)
您可以使用update request中的convert参数为Google文档/电子表格格式创建新修订。
修改代码以在上传时启用转换(未经测试但确信它是正确的)
try{
// First retrieve the file from the API.
File file = service.files().get(fileId).execute();
java.io.File fileContent = new java.io.File("sdcard0/temp/test.doc");
FileContent mediaContent = new FileContent("application/msword", fileContent); //Changed the mime type to original
File updatedFile = service.files().update(getID(), file, mediaContent)
.setConvert(true) //Convert the file while uploading
.execute();
} catch (IOException e1) {
Log.d("","An error occurred: " + e1); //No i18n
} catch (Exception e){
Log.d("","EXCEPTION IN SAVING"+e); //No i18n
}