Blog

Flickrのセットからブログ用のHTMLを出力するRubyスクリプトを書きました

α6000 を手にしたおかげで Flickr に写真をあげる機会が増えました。@azur256 です。Flickr の写真をブログに引用するためにはブックマークレットとかがあるわけですが、Frickr API の勉強を兼ねて自作してみました。



GetFlickr 002

きっかけは EXIF を表示したかったから

最初は Flickr の写真をブログに載せる簡単な方法を探していたのです。ただし EXIF 情報も一緒に表示させられるものを、という条件付きで。

一番最初に見つけたのは FlickrEx です。JavaScript のコードを張り込むだけで EXIF 情報を表示してくれるという優れもの。

[D] Flickr画像に自動的にExif情報を付加するブログパーツ FlickrEx

FlickrEx を自分のブログに適用してみたものの、なぜか上手く動きません。GitHub でソースも公開されていたのでちょっと見てみたのですが、Flickr API を理解しないと問題がどの辺にあるのか分からず断念しました。

次の候補はお友達のまつさん (@matubiz) が作成されているブックマークレット

ExiFlickrHtml : matuダイアリー

ところが、このブックマークレットは最新の写真を引っ張ってくる仕様になっているので、過去にあげたものなどを引用するようなケース(私の使い方の想定)だとちょっと合わなかったのです。

もう一つ、こちらもお友達のフィープレさん (@feelingplace) が作られている Flickr2HTML
Flickrをブログに貼りつけるタグを取得するブックマークレット、Flickr2HTMLが完全リニューアル!! | Feelingplace

こちらは EXIF が表示できないので残念ながら今回の用途には合いませんでした。

無いなら作ればいい


ということで探すのより作る方が簡単だろうということで作ることにしました。Flickr の画像を扱うようなエントリを書くのは Mac しか想定していないので、ブックマークレットとかの汎用性のある形ではなく、開発が簡単な Ruby で作ってしまうことにしました。

ここから先は相当マニアックですし、俺得なエントリでごめんなさい。

最初は写真を一枚ずつ取得するスクリプトにしていたのですが、セットを選んで一気に生成した方が楽なのでそういうコードにしてみました。
実は、一枚ずつ取得するスクリプトも書いていて、こちらは TextExpander から呼び出せるようにしたので、それについては別の機会にエントリを書きたいと思います。

今回のスクリプトでは Flickr API を簡単に扱えるようにするライブラリ Flickraw と API キーなどをソースから分離するために pit を使いました。このスクリプトを動かしてみたい方は、それぞれを gem からインストールしてください。

具体的にはターミナル (terminal.app) を開いて



です。

あとは Frickr API を勉強してガリガリとコードを書くだけです。
Flickr Services

でき上がったスクリプトについては末尾に載せておきます。このスクリプトを実行すると、こんなイメージを表示するための HTML を自動的に作ってくれます。

GetFlickr 001

スクリプトを実行する


このスクリプトを動かすためには Flickr の API キーと API シークレットが必要になります。また、アクセストークンとアクセスシークレットも必要になるのですが、これについては以下のブログがとても詳しく説明してくれていますので、この通りにやって 4 つの文字列を入手しましょう。

RubyでFlickrの画像をまとめてダウンロード・バックアップしておく | 望遠鏡ドットコム

それからユーザ ID も事前に調べておいてください。自分の写真やセットを表示するとユーザIDがURLの中に含まれています。

Flickr 003

ユーザIDと先ほどの4 つの文字列を取得したら、ターミナルを開いてスクリプトを実行します。スクリプトの引数に Flickr のセットID を指定します。
セットID は取得したいセットを表示させた状態で URL の set の後の数字がセットIDになります。

Flickr 004

実際に実行する時は、ターミナルでこのように入力します。



初めてスクリプトを起動した時には pit が動いて 4 つの文字列とアカウントを入力するために vim が立ち上がりますので、それぞれの値を入力してください。

Flickr 002

これを入力すると、あとはコンソールにずらずらとHTMLの文字列が出てくるので、これをコピー&ペーストしてブログに張り込めば終わりです。

このコードを書いたおかげでα6000で撮影して Flickr にアップしてブログに貼るというルーチンがとても簡単になりました。

コード

コードは GitHub に置いてありますので使いたいという方は適当にどうぞ。ただ Flickr Pro アカウント、OS X 10.9 でしか試していないので無保証です。

azur256/GetHTMLFromFlickrWithEXIF

一応、ここにもコピペしておきます。



これでブログ作成もはかどるかな?
一枚だけ引っ張ってくるために TextExpander スニペットも作りましたので、よろしかったらこちらもどうぞ。

Flickrで表示している画像を簡単にブログに張り込むTextExpanderスニペットを作りました




最後まで読んでいただきありがとうございます。

follow us in feedly 左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです


Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします

RSSリーダへの登録は こちら からどうぞ。

URL
TBURL

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

フェイスブックでのコメント

Return Top