Tumblr API v2(を利用する為の準備に)に苦戦
Tumblr API
- Perlで、というかパソコンでやりたい事はいろいろあるんだけど、そのうちの一つがTumblrへの投稿をある程度自動化するというもの。
- メールでのpostであれば出来るんだけど、なぜかいまいち不安定。そんで原因がわからず。
- post本文の改行を増やしたり減らしたりすると、投稿出来たり出来なかったりする。
- TumblrがAPIを提供していたのは知っていたので、これを利用したいと思っていたんだけど・・・
どこで詰まったか
- エントリ投稿時に利用する access_token の取得が出来なかった。
- consumer_key , consumer_secret はtumblrのapp登録画面から申請、これはよし。
- http://www.tumblr.com/oauth/apps
- 投稿されているポストを取得するならここで取得できる情報でok
- oauth_token , oauth_verifier も tumblr API console から取得
- https://api.tumblr.com/console//calls/user/info
- アプリ画面でのコールバックURLに注意。
- 存在しないURLをデフォルトでトップに飛ばすようなドメインに設定しているといつまでたってもわからない
- ブラウザのURL欄をチェック
- この次、これらの情報を使って最終的に access_token と access_token_secret を得るんだけど、ここで詰まった。
もがく
- tumblr の API を利用するモジュールは既にいくつかあるんだけど、これらは access_token が取得済である事が前提のものだった。
- ほかの言語での実装なんかを真似てみるのだけど、うまく行かず。
結局
- うちがしたいんは、 Tumblr API の利用であって、 OAuth の実装方法の探求じゃないんや!
- ruby の tumblr_client を利用。
WWW::Tumblr
使ってみると・・・?あっさり投稿成功。- 思いっきり拍子抜け
- でも、日本語で投稿しようとするとエラー
tumbperl
使ってみる- cedriczirtacic/tumbperl · GitHub(https://github.com/cedriczirtacic/tumbperl)
- こちらも、日本語で投稿しようとするとエラー
- Net::OAuth のエラーだ。
- ちゃんとdecodeしてなかったからだった。以下を参照
- Net::Twitter::OAuthで日本語を通したい Perlに詳しい方に質問で.. - 人力検索はてな (http://q.hatena.ne.jp/1245343229)
- Tumblr::API のソース読みつつ、いろいろ試してみているところ。
- json すばらしい。というか、
use JSON
がすばらしいのか。 - 情報扱うのめっちゃ楽。
- json すばらしい。というか、
くやしい点
その他
- ソースコードにコメント残すとき、いちいち日本語変換するのがめんどくさくなってきた。
- これはつまり英語でコメントかけということだろうか
- 前々からやりたかった事が出来るようになって、形になってきた。すごい嬉しい。