Если следовать официальной
документации, то следует строить иерархию следующим образом:
- Постранично прочитать всю коллекцию альбомов (100 штук на страницу максимум)
- Просмотреть каждый Entry-элемент
- Выстроить иерархию по ссылкам на родительские альбомы
Однако, на больших объемах это работает крайне медленно.
При ~8000 альбомов требуется ~80 сетевых запросов.
Распараллелить эти запросы не удается, так как заранее неизвестны все ID альбомов. Поэтому приходится в прямом смысле загружать "постранично" - в каждой странице есть ссылка на следующую страницу.
В то же время на Яндекс.Фотках есть вот такие ссылки (нужно авторизоваться)
которые отдают сформированный список очень быстро (да, он неполный, но тут это не важно).
Вопрос: куда копать для ускорения загрузки дерева?- Может быть есть какая-нибудь незадокументированная возможность получить дерево по API?
- Если нет, то как программно авторизоваться на Яндекс.Фотках (OAuth токен не работает), чтобы слать запросы по этому урлу - fotki.yandex.ru/internal/get-my-albums.xml?