2016-01-20 81 views
0

爲什麼file.getParents總是返回null? 如何獲取文件所在文件夾的ID?file.getParents返回null(Google驅動器)

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()); 
    } 
} 
+0

File沒有'getParents()'方法。這是'getParent()'方法;它返回此抽象路徑名父項的路徑名字符串,如果此路徑名未命名父目錄,則返回null。在這裏閱讀文檔https://docs.oracle.com/javase/7/docs/api/java/io/File.html#getParent() –

+0

@BalwinderSingh有問題的「文件」對象是谷歌驅動器文件,而不是java文件對象 – nightlytrails

回答

1

看來您正在使用最新的v3 apis。 v3中的顯着變化包括 -

默認情況下,不再返回完整資源。使用字段查詢 參數來請求返回特定字段。如果未指定 ,則只返回常用字段的子集。

讀 - Migrate to Google Drive API v3

service.files().list().setFields("files(id, name, parents)").execute()

爲我工作。

相關問題