0
我在Android SDK上運行Google Drive查詢以檢查具有特定名稱的目錄是否存在或者創建它(目錄名稱是資源標題在Google雲端硬盤上)。爲什麼我的標題查詢未找到手動創建的文件/文件夾
我遇到以下代碼的問題是,它從來沒有找到我的文件夾,每次創建一個新的,我不知道爲什麼。如果SDK自己創建它,它會成功找到該目錄。
public static final String FOLDER_NAME_CORE = "My Core Folder";
MetadataBuffer meta = Drive.DriveApi.query(mGoogleApiClient, new Query.Builder()
.addFilter(Filters.eq(SearchableField.TRASHED, false))
.addFilter(Filters.eq(SearchableField.TITLE, FOLDER_NAME_CORE))
.setSortOrder(new SortOrder.Builder().addSortDescending(SortableField.MODIFIED_DATE).build())
.build()).await().getMetadataBuffer();
if (metadataBufferResult.getCount() > 0) {
Log.d(TAG, "Creating new folder");
...
} else {
Log.d(TAG, "Using existing folder");
}
我試過讓文件夾公開共享,但它沒有改變任何東西(如預期的那樣)。有沒有人知道我必須改變才能找到現有的文件夾呢?據我所知this list是唯一可能的搜索選項。
值得慶幸的是我使用RESOURCEID在大部分應用程序,因爲它是更經常檢查驅動器中的文件/文件夾是否存在統一於DriveId(ResourceId匹配共享鏈接)。這實際上只是爲了獲得ResourceId而按標題查看的新安裝。我沒有意識到查詢結果是SDK強制執行的我以爲我犯了一個錯誤。感謝您清理它! –
只是'擡頭',DriveId在GooPlaySvcs實例(一個設備)外面沒用。它甚至在它的一生中變化([丹尼爾的評論](http://stackoverflow.com/questions/21800257/where-did-the-createfromresourceid-go))。不要緩存它,不要發佈它。 – seanpj