[英]How to get DriveId of created folder in Google Drive Android API
[英]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.