Поскольку 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
будет содержать каждую отдельную фотографию в видеотдельная запись в списке?
Любая помощь с благодарностью:)