私はちょうどGoogle Drive APIに取り組んでいます。1 つ問題があります。速度が遅すぎます。ドキュメントのような方法を使用します。例えば:
List<File> getFilesByParrentId(String Id, Drive service) throws IOException {
Children.List request = service.children().list(Id);
ChildList children = request.execute();
List<ChildReference> childList = children.getItems();
File file;
List<File> files = new ArrayList<File>();
for (ChildReference child : childList) {
file = getFilebyId(child.getId(), service);
if (file == null) {
continue;
} else if (file.getMimeType().equals(FOLDER_IDENTIFIER)) {
System.out.println(file.getTitle() + " AND "
+ file.getMimeType());
files.add(file);
}
}
return files;
}
private File getFilebyId(String fileId, Drive service) throws IOException {
File file = service.files().get(fileId).execute();
if (file.getExplicitlyTrashed() == null) {
return file;
}
return null;
}
質問: この方法は機能しますが、遅すぎて 30 秒ほどかかります。
これを最適化するにはどうすればよいですか?たとえば、すべてのファイルを取得しないようにします (フォルダーのみ、またはファイルのみ)。またはそのようなもの。