Получение всех фотографий непрерывного снимка - PullRequest
0 голосов
/ 25 сентября 2019

Поскольку Google-Photos больше не будут синхронизироваться с Google-Drive, я начал писать свой собственный маленький Python скрипт, который выбирает каждую фотографию, хранящуюся в Google-Photos, и сохраняет их на моем локальном ПК.

Это работало нормально, пока я не наткнулся на фотографии, сделанные как «серийные снимки» на непрерывном снимке (удерживая нажатой кнопку камеры, чтобы сделать много снимков сразу после друг друга.)

Вызов mediaItems.listконечная точка возвращает только первое изображение непрерывного снимка, которое выглядит следующим образом:

...
{
   'id': 'XXX',
   'productUrl': 'https://photos.google.com/lr/photo/YYY',
   'baseUrl': 'https://lh3.googleusercontent.com/lr/ZZZ',
   'mimeType': 'image/jpeg',
   'mediaMetadata': {
       'creationTime': 'DATE',
       'width': '5312',
       'height': '2988',
       'photo': {
           'cameraMake': 'samsung',
           'cameraModel': 'SM-N910F',
           'focalLength': 4.8,
           'apertureFNumber': 2.2,
           'isoEquivalent': 64
       }
   },
   'filename': 'DATE_001.jpg'
}
...

baseUrl также ссылается только на первое фото непрерывного снимка.Однако productUrl дает вам какое-то слайд-шоу с каждой фотографией из этого непрерывного снимка.

Я не нашел документации на google-photos-api о том, как обрабатывать фотографии, сделанные как непрерывный снимокПоэтому мне интересно, есть ли способ получить все фотографии, а не только первую?Может быть, кто-то знает определенный флаг, который мне нужно передать при вызове API, чтобы каждая фотография непрерывного снимка получала свой собственный список в mediaItems.list?

Довольно сложное решениебудет искать имена файлов, соответствующие «* _001. *», и извлекать все фотографии в непрерывном снимке, используя productUrl и копая HTML-код на этой веб-странице, чтобы извлечь baseUrl каждой отдельной фотографии.Но это действительно неудобно и имеет довольно много крайних случаев, которые не удастся, так как имя файла может быть изменено, и, таким образом, будут непрерывные снимки, которые не имеют «_001. *» В конце.Всегда выполняйте эту процедуру, чтобы убедиться, что я не пропустил ни одного непрерывного начального изображения, что сделает скрипт очень медленным и неэффективным, и я не думаю, что google-api предназначен для такого использования.

Есть ли способ надежно сказать , какие фотографии являются началом непрерывного снимка, или даже лучше, если mediaItems.list будет содержать каждую отдельную фотографию в видеотдельная запись в списке?

Любая помощь с благодарностью:)

...