Google 驱动 getMimeType 只返回空值

Google drive getMimeType returning only null values

我正在尝试使用 java 中 Google 驱动器 api 的版本 3 从驱动器下载文件。我现在需要文件的 MimeType 来识别它们的内容类型。 当我尝试调用

File.getMimeType

我得到的是空值。

 Drive service=getDriveService();

 FileList result = service.files().list()    
          .setPageSize(100)
           .setFields("nextPageToken, files(id, name)")
             .execute();


 List<File> files = result.getFiles();
     if (files == null || files.size() == 0) {
         System.out.println("No files found.");
     }
     else {
         System.out.println("Files:");
            for (File file : files) {
                System.out.printf("%s (%s)(%s)\n", file.getName(),file.getId(),file.getMimeType());
            }
      }

我尝试调用其他方法,如 getFullFileExtension,但它们都返回空值。

谁能告诉我哪里做错了? 以及如何解决这个获取 mimetype 和其他值。

我还没有玩过 v3,但是从你的代码中你可以

setFields("nextPageToken, files(id, name)")

然后

file.getMimeType()

由于您只要求获取 ID 和名称,因此 mimeType 为 null 不足为奇。尝试将 mimeType 添加到 setFields 中的字段。