Java file.getParents返回null(Google驱动器)

Java file.getParents返回null(Google驱动器),java,google-api-java-client,Java,Google Api Java Client,为什么file.getParents总是返回null? 如何获取文件所在文件夹的id import com.google.api.services.drive.model.File; import com.google.api.services.drive.model.FileList; FileList result = null; try { result = service.files().list().execute(); } catch (IOException e) {

为什么file.getParents总是返回null? 如何获取文件所在文件夹的id

import com.google.api.services.drive.model.File;
import com.google.api.services.drive.model.FileList;

FileList result = null;
try {
    result = service.files().list().execute();
} catch (IOException e) {
    e.printStackTrace();
}
List<File> files = result.getFiles();
if (files == null || files.size() == 0) {
    System.out.println("No files found.");
} else {
    for (File file : files) {
        System.out.println(file.getName());
        System.out.println(file.getParents());
    }
}
导入com.google.api.services.drive.model.File;
导入com.google.api.services.drive.model.FileList;
文件列表结果=null;
试一试{
结果=service.files().list().execute();
}捕获(IOE异常){
e、 printStackTrace();
}
List files=result.getFiles();
如果(files==null | | files.size()==0){
System.out.println(“未找到文件”);
}否则{
用于(文件:文件){
System.out.println(file.getName());
System.out.println(file.getParents());
}
}

您似乎正在使用最新的v3 API。v3的显著变化包括-

默认情况下,不再返回完整资源。使用字段查询 参数以请求返回特定字段。如果留下 未指定仅返回常用字段的子集

读-

service.files().list().setFields(“文件(id、名称、父项)”).execute()

为我工作。

没有文件的
getParents()
方法。是
getParent()
方法;它返回此抽象路径名的父目录的路径名字符串,如果此路径名未命名父目录,则返回null。请看这里的文档@BalwinderSingh,这里讨论的“File”对象是googledrive File,而不是java File对象