Java 如何在Android中使用Google Drive API更新文件夹?
我正在尝试使用Java中的Google Drive files.update方法来更新文件夹。所谓更新,我的意思是用新文件夹中的任何内容替换所有内容。这是我正在使用的方法:Java 如何在Android中使用Google Drive API更新文件夹?,java,android,file-io,google-drive-api,insert-update,Java,Android,File Io,Google Drive Api,Insert Update,我正在尝试使用Java中的Google Drive files.update方法来更新文件夹。所谓更新,我的意思是用新文件夹中的任何内容替换所有内容。这是我正在使用的方法: public Task<String> updateFile(String fileId, String filePath) { return Tasks.call(mExecutor, () -> { try { File file
public Task<String> updateFile(String fileId, String filePath) {
return Tasks.call(mExecutor, () -> {
try {
File file = new File();
java.io.File fileContent = new java.io.File(filePath);
file.setName(fileContent.getName());
file.setMimeType("application/octet-stream");
FileContent mediaContent = new FileContent("application/octet-stream", fileContent);
File updatedFile = mDriveService.files().update(fileId, file, mediaContent).execute();
return updatedFile.getId();
}
catch (IOException e) {
Log.d("tag",e.getMessage());
return null;
}
});
}
公共任务更新文件(字符串文件ID、字符串文件路径){
返回任务。调用(mExecutor,()->{
试一试{
File File=新文件();
java.io.File fileContent=新的java.io.File(filePath);
file.setName(fileContent.getName());
setMimeType(“应用程序/八位字节流”);
FileContent mediaContent=新的FileContent(“应用程序/八位字节流”,FileContent);
File updatedFile=mDriveService.files().update(fileId、File、mediaContent).execute();
返回updatedFile.getId();
}
捕获(IOE异常){
Log.d(“tag”,例如getMessage());
返回null;
}
});
}
请记住,此方法适用于常规的非文件夹文件。我试着用Google驱动器文件夹mime类型替换“八位字节流”,得到了相同的错误。我得到的错误是“/storage/emulated/0/Download/folder(is a directory)”,不管文件夹的文件路径是什么。你应该写入文件而不是文件夹。看看这个:正如可怕的袋熊说的,你不应该尝试将任何信息上载到文件夹。只有一个名称和MIME类型。你在哪一行收到错误?你想更新什么?文件夹的名称?如果您真的不想更改任何内容,请跳过执行此功能的文件夹。