前提
今旅行中に複数台のスマホで撮影した合計100枚ぐらいの写真をそれぞれのスマホからGoogleフォトに自動でアップロードしている。
はてなブログで旅行ブログを書いていて100枚の写真を使いたいけど、はてなブログのGoogleフォト連携の機能が使いづらく安定性も悪い。
そこでPCでGoogleフォトから全部写真を一度ローカルにダウンロードして、それを「はてなフォト」にアップロードしている。
でもこの方法だとGoogleフォトからローカルにダウンロードした時点で撮影日順がぐちゃぐちゃになる。iPhone、Android、スクショでファイル名の形式もバラバラだからファイル名整列もうまく行かないし。
Cursorに頼んで、Googleフォトからダウンロードした写真のexifデータなどからファイル名を撮影日順に変えるスクリプトを組んでいる。
でも毎回そのフォルダでスクリプトを走らせるのめんどくさい!!スクリプトとかターミナルとか触りたくない!
方法
一連の流れを踏まえて何かいい方法ないかな〜と思ってChatGPTのo3に相談したら3種類の案が出てきた!
①はGoogleフォトとはてなフォトライフのAPIを使って、ダウンロードやアップロードをスクリプトで行う方法。はてなフォトライフにAPIがあったとは。なんかあんまり楽ではなさそうだけど暇なのでやってみた。
何箇所か詰まったけど一応うまくいった。
APIはChatGPTの解説と違って、このページの一番下にあるAPIキーでできた
途中で画像のサイズを変えるコードも入れたけど、なんか調べたらはてなフォトライフにあげる時点で画像サイズを自動で変えてくれるっぽい?
1の方法も結局、旅行の旅にコードの実行は必要だし、Googleアルバムを作ってそのIDを取得してそれも書かないといけないので若干めんどい。ダウンロードとアップロードが自動でできるのはいいかもしれないけど、別にそこはそんなに手間じゃないしな〜
# 1. ターミナル起動(新規ウインドウ)
# 2. プロジェクトに移動
cd ~/Documents/photo-sync
# 3. venv を有効化
source venv/bin/activate # ← プロンプトの先頭に (venv) が付く
# 4. 写真をアップ
python3 run.py "メタバース" # ← タイトルでも ID でも OK
他の方法試すのめんどくさくなったのでこれでいいや。
ChatGPTに頼んだサムネ