sironekotoroの日記

Perl で楽をしたい

Tumblr API v2(を利用する為の準備に)に苦戦

Tumblr API

  • Perlで、というかパソコンでやりたい事はいろいろあるんだけど、そのうちの一つがTumblrへの投稿をある程度自動化するというもの。
  • メールでのpostであれば出来るんだけど、なぜかいまいち不安定。そんで原因がわからず。
    • post本文の改行を増やしたり減らしたりすると、投稿出来たり出来なかったりする。
  • TumblrAPIを提供していたのは知っていたので、これを利用したいと思っていたんだけど・・・

どこで詰まったか

  • エントリ投稿時に利用する access_token の取得が出来なかった。
  • consumer_key , consumer_secret はtumblrのapp登録画面から申請、これはよし。
  • oauth_token , oauth_verifier も tumblr API console から取得
  • この次、これらの情報を使って最終的に access_token と access_token_secret を得るんだけど、ここで詰まった。

もがく

  • tumblrAPI を利用するモジュールは既にいくつかあるんだけど、これらは access_token が取得済である事が前提のものだった。
  • ほかの言語での実装なんかを真似てみるのだけど、うまく行かず。
    • ちなみに、 php で実装されてたのを perl に持ってこようと思ってた。
    • 同じスクリプト言語だからか、だいぶ読みやすかった。びっくり。
    • プログラミングは一つの言語わかると、他もわかるってのは真実かもしれんなぁと実感。

結局

  • うちがしたいんは、 Tumblr API の利用であって、 OAuth の実装方法の探求じゃないんや!
  • rubytumblr_client を利用。
    • うちの Macruby は 1.83 でそのままでは動かず
    • perl 入れたときにplenv入れたのにならって、rbenvで1.93を入れる。
    • tumblr_client 起動、 consumer_key , consumer_secret を要求通り入力
    • そのあと、 cat ~/.tumblr とすると、あら不思議、そこには追い求めた oauth_token と oauth_taken_secret が!!!!
  • WWW::Tumblr 使ってみると・・・?あっさり投稿成功。
    • 思いっきり拍子抜け
    • でも、日本語で投稿しようとするとエラー
  • tumbperl 使ってみる

くやしい点

  • access_token の取得を、 perl だけで解決できなかった事にちょっと引け目が

その他

  • ソースコードにコメント残すとき、いちいち日本語変換するのがめんどくさくなってきた。
    • これはつまり英語でコメントかけということだろうか
  • 前々からやりたかった事が出来るようになって、形になってきた。すごい嬉しい。