Automating Ubuntu Screenshots to Google Photos
Описание и применение
Автоматически загружает скриншоты Ubuntu в Google Photos, сохраняя точную дату и часовой пояс, без изменения оригинальных файлов.
Задача
Ubuntu screenshots lack accurate capture timestamps when uploaded to Google Photos, causing incorrect date metadata.
Результат
Automated pipeline uploads Ubuntu screenshots to Google Photos with accurate capture timestamps and timezone, preserving original files and preventing manual uploads.
Рабочий процесс
- Create project directory and virtualenv
- Install required Python packages
- Set up Google Cloud OAuth credentials and store client_secret.json
- Run auth.py to obtain and store token.json
- Configure inotify to watch ~/Pictures/GooglePhotos/upload/ for new PNGs
- On new file, use GNU stat to read birth time
- Embed DateTimeOriginal and timezone into PNG via Pillow
- Upload image bytes to Google Photos API (upload token + batchCreate)
- Move uploaded file to ~/Pictures/GooglePhotos/uploaded/
Доказательства
The original screenshot is never modified.
Google Photos uses a two‑step upload process: Image bytes → POST /v1/uploads → Upload token → POST /v1/mediaItems:batchCreate → Google Photos media item
- Дата записи: 2026-09-20T08:16:47.987Z