はてなフォトライフははてなの画像アップローダ。はてなブログの画像もフォトライフに溜まっていく。先日無料版ユーザの月間アップロード制限がいい感じに緩くなって最高。
フォトライフにはAPIがあって、画像を投げつけることができる。ドキュメントはこれ。
はてなフォトライフAtomAPI - Hatena Developer Center
昔はWSSE(はてなIDとパスワード)で認証できたんだけどこのドキュメントちょっと古くて、いまはOAuthしか使えない。まぁOAuthの方がセキュアだし仕方ない。ということで、OAuthのConsumer Key、Consumer Secret、Access Token、Access Token Secretを用意してやる必要がある。まずはそのやり方から。
ここから「新しいアプリケーションの追加」を押してアプリケーションを登録する。「OAuth Consumer Key」と「OAuth Consumer Secret」をメモしておく。ついでにフォトライフにアップロードするにはwrite_privateの権限が必要なので、チェックを入れて「変更する」を押す。
Consumer key を取得して OAuth 開発をはじめよう - Hatena Developer Center
このページの下の方にAccess TokenとAccess Token Secretを取得するためのサーバを立ち上げるスクリプトがあるのでこれを使って2つを取得する。Ruby版はこれ。さっきメモしたConsumer KeyとConsumer Secretを書く必要がある。
取得したら以下のスクリプトではてなフォトライフに写真をアップロードできる。bundle exec ./fotolife.rb FILE_PATH
みたいな感じで叩けば良い。
OAuth.gem使うときに気をつける必要があって、POSTでリクエストを送るときにヘッダに{'Accept'=>'application/xml', 'Content-Type' => 'application/xml'}
みたいなのを含めないとsignatureがおかしいと怒られる。
このAPIで送った画像ははてなフォトライフのトップフォルダに入るので、はてなブログに貼りたいときに注意。
ここから選択できる。
というわけで無事角煮画像をアップロードすることができました。