簡體   English   中英

適用於Android的雲端硬盤API:如何列出Google雲端硬盤文件夾中的每個條目(以及不是由我的應用創建的條目)

[英]Drive API for Android: how to list every entry in Google Drive folder (also those not created by my app)

我正在使用Google雲端硬盤文件夾備份我的應用中的某些信息。 我不使用App Folder,因為我希望用戶能夠將文件上傳到同一文件夾(例如,上傳其他人獲得的備份)。

我使用的代碼如下:

Query query = new Query.Builder()
             .addFilter(Filters.eq(SearchableField.TITLE, backupName))
             .build();

DriveApi.MetadataBufferResult result =
        mDriveFolder
                .queryChildren(mGoogleApiClient, query)
                .await();

if (result == null || !result.getStatus().isSuccess()) {
    return null;
}

MetadataBuffer buffer = result.getMetadataBuffer();
if (buffer.getCount() == 0) {
    buffer.close();

    return null;
}
Metadata m = buffer.get(0); //get first

這樣,只有備份文件是由我的應用通過備份功能上傳的,我才能找到備份文件。 如果我從桌面上載文件到雲端硬盤,或僅出於測試目的創建新文檔,則找不到該文件。 (通過雲端硬盤,我可以正確地查看所有文件,無論是否來自我的應用程序,而我是所有者)。

因此,我嘗試列出並記錄所有文件夾內容:

DriveApi.MetadataBufferResult result = mDriveFolder.listChildren(mGoogleApiClient).await();

if (result == null || !result.getStatus().isSuccess()) {
    return null;
}

MetadataBuffer buffer = result.getMetadataBuffer();

for(Metadata m: buffer){
    Log.d(TAG, m.getTitle()+" - "+m.getOriginalFilename());
}

並且僅記錄我的應用上傳的文件。

因此,如何從應用程序獲取文件夾中的所有內容,而不論其來源如何? 我想念什么嗎?

Google雲端硬盤SDK無法實現。 您應該為此使用http-requests。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM