Skip to main content

Evgeny Kuznetsov

Google Library API — отличная штука! (Нет.)

2 min read

Чем дальше в лес, тем злее дятлы…

Мало того, что Google Library API не желает отдавать файлы с фотографиями в исходном виде (о чём я уже писал); там вообще весь API работает, как Ктулху на душу положит, в зависимости от фазы Луны, положения планет и настроения Дискордии.

Вот, например mediaItems.list — в документации всё чётко, просто и понятно: вкидываем token страницы и желаемый размер, получаем список с описаниями объектов; если объектов больше, чем наш желаемый размер страницы, получаем ещё token для следующей страницы. Нормально? Более чем!

Вот только в реальности при запросе с указанным размером страницы в 100 можно запросто получить ответ с тремя (!!!) объектами и token'ом следующей страницы. На которой будет 62 объекта. А на следующей — 15. Да, чаще будут страницы по сотне (если библиотека достаточно большая), но далеко не всегда. Бывают страницы вообще без объектов, в смысле в JSON вообще не будет поля "mediaItems"

Но это-то ладно, на то и программист, чтобы предусмотреть и обработать любой мусор на входе. Но некоторые объекты вообще не попадают в выдачу… Ну, то есть в документации написано, что в выдаче будут все объекты, кроме тех, что в архиве или в корзине. Вот есть в веб-интерфейсе Google Фото фотография, не в архиве, не в корзине — а в выдаче её нет. Вообще нет как объекта. И ошибок нет. Ну, потому что нефиг, не нужна тебе через API эта фотография.

Шоб у вас в Google такая система доступа в туалеты для сотрудников была, какой вы API состряпали!

визуализация работоспособности Google Library APIPhoto by Alistair MacRobert on Unsplash