尝试使用Parents.get。一个成功的请求会返回一个指向父文件和文件本身的链接。下面是一个示例响应:
{
"kind": "drive#parentReference",
"id": "0Bw-w9jw2bwglbzlvMVh2cll2dmM",
"selfLink": "https://www.googleapis.com/drive/v2/files/1-ABCDEzyvp9NFmWz7h6ssgkTKHytO1Nq4SNIboDW8A/parents/0Bw-w9jw2bwglbzlvMVh2cll2dmM",
"parentLink": "https://www.googleapis.com/drive/v2/files/ABCDEjw2bwglbzlvMVh2cll2dmM",
"isRoot": false
}
下面是来自文档的Java实现:
private static boolean isFileInFolder(Drive service, String folderId,
String fileId) throws IOException {
try {
service.parents().get(fileId, folderId).execute();
} catch (HttpResponseException e) {
if (e.getStatusCode() == 404) {
return false;
} else {
System.out.println("An error occured: " + e);
throw e;
}
} catch (IOException e) {
System.out.println("An error occured: " + e);
throw e;
}
return true;
}
的路径在谷歌drive.files没有这样的概念,可以有多个父母 –
嗨,@ZigMandel谢谢你的回复。这意味着我必须编写一个像“getFilePath(service,file)”这样的自定义方法,并将文件迭代到超级父级[使用file.getParents()]来实现此要求。 – ArpitBora