private static boolean isDone(FileList fileList) { return fileList.getFiles().isEmpty() || Strings.isNullOrEmpty(fileList.getNextPageToken()); }
pageToken = fileList.getNextPageToken();
if (!Strings.isNullOrEmpty(fileList.getNextPageToken())) { paginationToken = new StringPaginationToken(fileList.getNextPageToken());
private boolean processFolder() throws IOException { if (folderId == null && !subFolders.isEmpty()) { folderId = subFolders.get(0); subFolders.remove(0); request.setQ(format(query, folderId)); LOG.debug("query = {} {}.", query, folderId); } searchResults.clear(); FileList files = request.execute(); for (File file : files.getFiles()) { if (canAddSubFolder(file.getMimeType())) { subFolders.add(file.getId()); } if (canAddFile(file.getMimeType())) { searchResults.add(file); result.totalCount++; } } request.setPageToken(files.getNextPageToken()); searchCount = searchResults.size(); // finished for folderId if (StringUtils.isEmpty(request.getPageToken()) || searchCount == 0) { folderId = null; } return searchCount > 0; }
private boolean processFolder() throws IOException { if (folderId == null && !subFolders.isEmpty()) { folderId = subFolders.get(0); subFolders.remove(0); request.setQ(format(query, folderId)); LOG.debug("query = {} {}.", query, folderId); } searchResults.clear(); FileList files = request.execute(); for (File file : files.getFiles()) { if (canAddSubFolder(file.getMimeType())) { subFolders.add(file.getId()); } if (canAddFile(file.getMimeType())) { searchResults.add(file); result.totalCount++; } } request.setPageToken(files.getNextPageToken()); searchCount = searchResults.size(); // finished for folderId if (StringUtils.isEmpty(request.getPageToken()) || searchCount == 0) { folderId = null; } return searchCount > 0; }
childIds.add(create(file)); request.setPageToken(files.getNextPageToken());
pageToken = fileList.getNextPageToken();
public List<File> search(Optional<String> title) { Drive drive = driveFactory.getDrive(this.credential); try { List<File> result = new ArrayList<File>(); Drive.Files.List request = drive.files().list(); request.setPageSize(1000); String query = ""; if (title.isPresent()) { query += " name = '" + title.get() + "'"; } if (query.length() > 0) { request.setQ(query); } do { FileList files = executeWithRetry(options, () -> request.execute()); result.addAll(files.getFiles()); request.setPageToken(files.getNextPageToken()); } while (request.getPageToken() != null && request.getPageToken().length() > 0); return result; } catch (IOException e) { throw new JDriveSyncException(JDriveSyncException.Reason.IOException, "Failed to list all files: " + e.getMessage(), e); } }
public List<File> listAll() { Drive drive = driveFactory.getDrive(this.credential); try { List<File> result = new ArrayList<>(); Drive.Files.List request = drive.files().list(); request.setPageSize(1000); do { FileList files = executeWithRetry(options, () -> request.execute()); result.addAll(files.getFiles()); request.setPageToken(files.getNextPageToken()); } while (request.getPageToken() != null && request.getPageToken().length() > 0); return result; } catch (IOException e) { throw new JDriveSyncException(JDriveSyncException.Reason.IOException, "Failed to list all files: " + e.getMessage(), e); } }
public List<File> listChildren(String parentId) { List<File> resultList = new LinkedList<File>(); Drive drive = driveFactory.getDrive(this.credential); try { Drive.Files.List request = drive.files().list().setFields("nextPageToken, files"); request.setQ("trashed = false and '" + parentId + "' in parents"); request.setPageSize(1000); LOGGER.log(Level.FINE, "Listing children of folder " + parentId + "."); do { FileList fileList = executeWithRetry(options, () -> request.execute()); List<File> items = fileList.getFiles(); resultList.addAll(items); request.setPageToken(fileList.getNextPageToken()); } while (request.getPageToken() != null && request.getPageToken().length() > 0); if (LOGGER.isLoggable(Level.FINE)) { for (File file : resultList) { LOGGER.log(Level.FINE, "Child of " + parentId + ": " + file.getId() + ";" + file.getName() + ";" + file.getMimeType()); } } removeDuplicates(resultList); return resultList; } catch (IOException e) { throw new JDriveSyncException(JDriveSyncException.Reason.IOException, "Failed to execute list request: " + e.getMessage(), e); } }
page = list.getNextPageToken(); if(log.isDebugEnabled()) { log.debug(String.format("Continue with next page token %s", page));