at posts/single.html

Googleフォトの写真を日記に載せるためのtDiaryプラグインを書いた

Picasaがサービス終了し、Flickrの先行きも不透明になっている。そこで、Googleフォトの写真を日記に載せられるようにプラグインを作った。

こんな風に、Googleフォトにアップした写真を選択して、日記に貼り付けることができる。PC上の写真をGoogleフォトにアップロードすることもできる。

photo

プラグインはcontribパッケージに取り込まれたので、最新版を取得すれば利用可能。制約事項は、写真の最大サイズが512ピクセルまでということと、プラグインを使うためにGoogleのAPIキーを取得する必要があること。少しでも負担を減らそうと、APIキーの取得手順をスクリーンショット付きで書いてみた。

技術的な話

Picasa Webが突然止まったのでFlickrへ乗り換え中より引用。

困るのはアルバムを「公開」にしてAPIから取得する手段がなくなったことだ。Google Photosにはそういう機能ないからな。これがないと、日記に写真を貼ることができないのだ。

FlickrやPicasaは写真やアルバムの公開機能があったので、API経由で写真へのリンクを取得することができた。一方、GoogleフォトはAPIがなく、公式サイトでも宣言しているとおり、外部サイトへ写真を貼り付けることができない。

Google フォトではご利用いただけない Picasa ウェブ アルバムの機能

  • ウェブサイトへの写真やアルバムの埋め込み。

代わりにGoogle Picker APIを使って、Googleフォトの写真を取得している。このAPIは、Googleに保存している情報をダイアログのように選択するライブラリで、JavaScriptで呼び出す仕組みになっている。プログラム的にはファイルダイアログを操作するようなコードを書くだけで良い。

これでFlickrのように写真のURLとリンクが取得できれば良いのだけれど、残念ながらGoogle Picker APIで取得できるリンク先が picasaweb.google.com になっている。これだと、リンク先に飛んでも本人しか写真を見ることができない。代わりに、サムネイル用のURLが取得できるので、Googleフォトプラグインではサムネイル用の写真を直リンク的に日記へ埋め込む仕様としている。

最近のAPIらしく、Google Picker APIを利用するためには事前にAPIキーの取得が必要。日記の設置者がそれぞれキーを取得しなくちゃいけないのはなんだかなーという感じ。

参考にしたサイト

関連する日記