0
我從谷歌驅動器中獲取文件,就像那樣。 文件夾的結果。 OK,谷歌驅動器API - 文件是否有兒童或不是
我列表結果,所以我要找到,如果結果(我)有孩子與應用/ vnd.google-apps.folder MIME類型與否。
換句話說,方法是檢查:如果當前文件夾包含子文件夾,則返回true。否則返回false;
我在谷歌App引擎中使用它。
我該怎麼做?
public void getAllFiles(String id, Drive service) throws IOException{
String query="'"+id + "'"+ " in parents and trashed=false and mimeType=application/vnd.google-apps.folder'";
FileList files = service.files().list().setQ(query).execute();
List<File> result = new ArrayList<File>();
Files.List request = service.files().list();
do {
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
} while (request.getPageToken() != null && request.getPageToken().length() > 0);
}
我做不要創建額外的請求(新的兒童要求每個節點),看它是否有子女或沒有。類似的東西:
for (File file : result) {
query = "'" + file.getId() + "'" + " in parents and trashed=false and mimeType='application/vnd.google-apps.folder'";
FileList fileChild = service.files().list().setQ(query).execute();
List<File> res = new ArrayList<File>();
Files.List req = service.files().list();
do {
res.addAll(fileChild.getItems());
req.setPageToken(fileChild.getNextPageToken());
} while (req.getPageToken() != null && req.getPageToken().length() > 0);
RemoteFolder remFolder = new RemoteFolder();
remFolder.setFile(file);
if(res.size()>0){
remFolder.setChildrenable(true);
log.info("folder named "+file.getTitle() + " have children folders count: "+ res.size());
}
folderList.add(remFolder);
}
我想優化我的代碼。
memcached是什麼意思?我不知道。是的,我爲每個節點做了另一個請求。我的代碼寫在我的問題。我可以優化它以更快嗎?或者如何在這裏創建memcached? – grep
我需要一個例子 – grep
很多關於memcached的例子,如果你google的話。 –