Google Photos の画像をダウンロードして、ブログの画像を別の画像に差し替える

Google Photos は様々な Web サイトから Google Photos にアップロードした写真を貼り付けできる*1、という太っ腹な Picker API という機能がある。

ただ、この機能は他の Web サイトが無料で Google Photos の生 JPEG 画像を使え、Google 側に旨味はほぼないため、いつかはなくなるんだろうなぁ、けど無くならないと嬉しいな、という気持ちで使っていたら、Google Picker API で貼り付けた画像が「画像所有ユーザ以外は過去画像含め見れなくなる」という斜め上の変更が入ったため(この辺の認証メカニズムの変更の影響?)、数千枚の旅行写真を Google Photos から貼り付けていた 自分は悲しみに明け暮れていた。

またはてなブログでは、この Google Photos の貼り付け機能をはてなブログから利用できる機能としてユーザに提供していたため、

というアナウンスが出ていて、いつかは対応されると思うのだけど、一足先に自分でスクリプトを書いて対応してみた。

やっていることは難しくなくて、

  • はてなブログの記事を blogsync でダウンロードする
  • google フォトぽいURLを抜き出す
  • その URL を元に、認証情報を持った Google Chrome 経由でオリジナル画像をダウンロードする
  • はてなフォトライフに画像をアップロードする
  • はてなブログの記事を、Google フォトからフォトライフへと文字列置換する
  • blogsync で再度はてなブログを更新する
    • ただ、og:image の画像は差し替えられず…

みたいな流れで置き換えを行っている。これで自分のブログや妻のブログは無事フォトライフに(og:imageやサムネイル以外は)差し替えができ、旅行の写真を再び公開することができた。


今回の教訓で、当たり前なのだけど、この事業/機能は儲からないじゃ、というものはやっぱりなくなった、ということだった。無料(もしくは容量を考えたら月額安すぎる)でアップロードし放題のストレージサービスが出たときも、こそって消えていったのだけど、Google フォトのこの機能は Google だから無料で使い続けられるはず、なんてことはなく、やはり消えていったのであった*2

*1:jpgをママ貼り付けでき、サムネイルサイズも自由なサイズを選べ、Google の高速なサーバ経由で配信され、しかもアップロードしたオリジナルファイルもダウンロードできる、という素晴らしいかった機能

*2:Amazon Prime 会員が使える、Amazon Prime Photos にRAW画像を無限にアップロードできる機能も無くなるのでは、と思って信頼しないで使っている