TGViewer
Нажимаем кнопки Нажимаем кнопки @pushing_buttons · 223 subscribers
Post #50 152
Извлекаем информацию из Яндекс Диска

Чтобы показывать фотографии на карте, я решил сделать веб приложение. Для фронтенда я нашёл open-source библиотеку Leaflet и расшерение для него: markercluster. Вместе эти две библиотеки дали мне возможность отображать карту, ставить на ней маркеры и красиво группировать. На первом этапе я решил ограничиться отображением координат, без самих фотографий.

Роль бэкенда – это выдавать координаты фотографий, которые хранятся на Яндекс Диске. Для этого я воспользовался официальным API Яндекса. На первый взгляд всё было довольно просто:
➢ Получаем список файлов на Диске
➢ Отфильтровываем всё, что не является картинкой
➢ Запрашиваем у Диска метаданные файлов и достаём из них координаты

Проходить через все эти этапы при каждом открытии страницы не хочется, поэтому делаем шаг "синронизации", когда метадата выгружается из Диска в локальную базу данных. На фронтенд будем отдавать то, что лежит в локальной базе.

Но была проблема

Когда я это всё реализовал и стал тестировать, стало заметно, что я так получал очень мало фотографий. Оказалось, что это связано с тем, как Диск хранит загруженные картинки. Есть концепция "безлимитного" хранилища, куда по умолчанию попадают фотографии, загруженные с телефона. Проблема в том, что с картинками из этого хранилища невозможно работать через API. Пришлось вручную скачивать фотографии из безлимитного хранилища и загружать их в обычное. Каждую такую операцию можно выполнить только для 500 фотографий за раз. Эти ограничения могут испортить весь user experience, если я захочу открыть этот проект для публичного пользования.

Но даже после переноса картинок из безлимитного хранилища в обычное, я всё ещё не видел значительной части своих фотографий. Было такое чувство, что я видел только координаты старых снимков. Во всём оказался виноват iPhone...
  • ❤ 2
More from @pushing_buttons
  1. Sep 11, 2026CJ приехал в Витебск на Славянский Базар. Вот что получается, если попросить LLM сделать м…
  2. Aug 15, 2026Корпус для нового компьютера приедет только через неделю, поэтому разделочная доска получа…
  3. Aug 13, 2026Починить или оставить так?
  4. Aug 12, 2026Проджект менеджмент — это новое программирование. Подключил к Codex-у issue tracker Linear…
  5. Aug 10, 2026Post #99
  6. Aug 2, 2026Post #98
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →