Dropbox API ListFolder ограничивает 2000 записей

Недавно я обнаружил, что API listFolder / Continue возвращает только 2000 записей. И я также пробовал рекурсию и циклы while для извлечения всех метаданных и добавления в существующий список result.getEntries() верхнего уровня. Но ни один из этих подходов не работает, я все еще вижу, что только 2000 записей метаданных имеют конечный результат.

Кто-нибудь пробовал и сделал так, чтобы он работал на Java?

1 ответ

Решение

Каждая страница listFolder результаты, т. е. каждый ответ от одного звонка listFolder или же listFolderContinue, может содержать до 2000 записей. (Обратите внимание, что это число не гарантируется, поэтому не стоит полагаться на него.)

Чтобы убедиться, что вы можете получить все элементы в папке, вы должны использовать оба listFolder а также listFolderContinue, перезванивая listFolderContinue с последним cursor когда hasMore на последнем звонке было true, Здесь есть рабочий пример:

https://github.com/dropbox/dropbox-sdk-java/blob/c6aeb4bf3011e6b803eaa325ea20a52f8412ee0f/examples/tutorial/src/main/java/com/dropbox/core/examples/tutorial/Main.java#L32

Другие вопросы по тегам