2014-10-17 32 views
2

我想列出我的谷歌驅動器中的文件。我正在使用官方複製粘貼方法從文檔,但它不會返回有效的結果 - 它也列出了一些最近刪除(垃圾)的文件,並沒有列出一些最近創建的文件。它看起來像被緩存,並且需要相當長的時間(分鐘,有時甚至幾小時)來反映任何更改。 任何人都知道如何獲得實時和有效 - 沒有過時和緩存 - 從谷歌驅動器文件列表?我使用這種方法:谷歌驅動器Android API - 文件夾中的文件列表總是過時/緩存,不是新鮮

// I need to get list of NOT TRASHED files from root directory 
    Query query = new Query.Builder().addFilter(Filters.eq(SearchableField.TRASHED, false).build(); 
    DriveFolder folder = Drive.DriveApi.getRootFolder(mGoogleApiClient); 

    MetadataBufferResult filesMetadata = folder.queryChildren(mGoogleApiClient, query).await(); 

    if (!filesMetadata.getStatus().isSuccess()) { 
     log("failed"); 
     return false; 
    } 

    Iterator<Metadata> it = filesMetadata.getMetadataBuffer().iterator(); 

    while (it.hasNext()) { 
     Metadata meta = it.next(); 
     log("File name: " + meta.getTitle() + ", size: " + meta.getFileSize() + ", created: " + meta.getCreatedDate()); 
    } 

    // but this list is outdated, doesn't reflect latest changes 
+0

你有沒有找到一個解決方案? – Alchete 2015-01-09 14:19:03

+0

是的 - 我用舊的api。新的不是實時的 - 檢查我的答案在這個主題:http://stackoverflow.com/a/26524098/1360930 – qkx 2015-01-27 11:06:23

回答

1

谷歌驅動API不會讓你有強迫谷歌驅動器使用下面的方法調用同步立即採取任何行動後同步:

Drive.DriveApi.requestSync(_gac); 
+1

它會很容易,如果它的工作。但事實並非如此。 – seanpj 2015-02-18 16:09:31

+0

我認爲你使用的是Google Drive核心API。相反,核心API使用Google Drive REST API calls.Core API需要一些時間才能在Google Drive服務器上提交更改,以便您可以獲得空文件夾ID。 – 2015-06-01 18:41:52

+0

感謝它與8.4.0版本。 – Pedram 2016-01-19 21:34:19

相關問題