Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中使用Google Drive API更新文件夹?_Java_Android_File Io_Google Drive Api_Insert Update - Fatal编程技术网

Java 如何在Android中使用Google Drive API更新文件夹?

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

我正在尝试使用Java中的Google Drive files.update方法来更新文件夹。所谓更新,我的意思是用新文件夹中的任何内容替换所有内容。这是我正在使用的方法:

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类型。你在哪一行收到错误?你想更新什么?文件夹的名称?如果您真的不想更改任何内容,请跳过执行此功能的文件夹。