Twitter 上で要チェックなポストは、今年の4月から MAILPIA でケータイにメール通知するようにしていた(記事)のだが、最近メールが届かなくなってしまった。 フィードを変更してみたりメールアドレスを変えてみたりしたが駄目。 他に良さそうなフィードメール通知サービスが無さそうだったので Plagger を使うことにした。
Plagger は以前途中までインストールしようと思ったのだが、依存 Perl モジュールが多くて途中でやめてしまった。 今回は目的があってインストールするので、頑張ってインストールした。
インストールするホストに libxml2 と OpenSSL が無くて必須モジュールが入らなかったので、これを別途インストール。 Plagger は Subversion リポジトリの trunk をチェックアウトしてインストール。 依存 Perl モジュールは CPAN から。
ケータイ向けにテキスト形式のメールを送る Publish プラグインは Web で見つけたものを流用。まずは以下の3つレシピを cron で 10分毎に実行するように設定した。 メールは基本的に Gmail アカウントに送ってフィルタでケータイに転送。 うまくいっている感じ。
Plagger で Twitter にログインして replies API にアクセスするようにもできるけれどパスワードを書いておきたくないので、先月作成した CGI スクリプト(記事)経由で取得することにした。
[Twitter] ↑ [replies.atom さらし CGI スクリプト] ↑ [Plagger (cron で 10分毎)] ↓ [Gmail] ↓ [ケータイ]
Plagger で直接各 Twitter-ers のフィードを取ってこれるけれど、10分毎にアクセスするほどでもないので、Google リーダーに Twitter-ers のフィードをフェッチさせてタグでたばねて公開したフィード経由で取得することにした。
Plagger のレシピをいじらないで Google リーダー上で Twitter-ers を追加・削除でき、Google リーダーでもポストを読めるというのが利点。 ポストが少ない Twitter-er のフィードは Google リーダーが巡回頻度を下げるのでタイムラグが大きくなることがあるのが欠点。
[Twitter] ↑ [Google リーダー] ← [Web ブラウザ (設定・チェック)] ↑ [Plagger (cron で 10分毎)] ↓ [Gmail] ↓ [ケータイ]
外出先などで、居場所やイベントの情報を Twitter でチェックしたい時がある(役に立つかどうかは別として)。 ケータイから定期的に検索かけるなんてありえないので、メールでプッシュしておいて(気がむけば)読むぐらいにしておきたい。 キーワードの設定・管理については、操作・サーバ実装とも楽したい。
Twitter 関連ということで頻繁にケータイでアクセスして画面に出ている MovaTwitter を活用したい。 ということで MovaTwitter のクリボーに「アクセス keyword」と書くことで検索キーワードを指定できるように組んでみた。
[MovaTwitter クリボー] ← [ケータイ (キーワード書き込み)] ↑ ↑ クリボーのフィードを読んでキーワードを取得 ↑ [CGI スクリプト] → [twitter検索] ↑ [Plagger (cron で 10分毎)] ↓ [Gmail] ↓ [ケータイ]
いまさらだけれど、Plagger 便利だな。 とっかかり(インストールと概要理解)がちょっと難しいけれど、それを乗り越えてしまえば Perl なんでどうとでもなるという感じ。
Twitter を使い始めてから2年が経った。Twitter 年齢2歳。 2年間で生活は激変したけれど、Twitter はずっと続いている。 いや生活が変化しているからこそ Twitter が楽しいのかもしれない。 もはや生活の一部だ。
オフラインだと Twitter-er だった同僚が昨年末に退社。 普段会う人で Twitter ユーザがいなくなった。 Twitter で投稿した/見た内容について、直接笑って話すのも楽しかったので残念。 オフィスでたまに布教しているんだけれどつれない。 やっぱりやってみないとわからないからなあ。
Twitter と連携する Ripplex を使用開始。 Linux で使えないのでたまになってしまうけれど、月に何回かは起動している。 今は非アクティブ Twitter-ers 整理用ツールとして活用中(記事)。
勤務先内では Skype が中心で、ムードテキストでつぶやくという文化ができあがっているので(一部の人だけれど)、現在も Twitter から流し込んでいる。 特にコメントもらったことないんだけれど、同僚はどう思っているんだろうなあ。
Twitter 関連のケータイへのメール通知は定期的に見直しにせまられる。 MAILPIA も最終的にはうまく動かなくなった。
で結局いきつくところは Plagger と。 最近「twitter検索」もとりこぼすようになったので、そのうち考えなおさないといけないかもしれない。
Twitter をやるとついつい Web 日記の更新がおろそかになってしまう。 短文しかかけない身になるとヤバいので、今年はがんばって1日1記事目標で。 今のところ何とか続いている。
携帯百景いい。写真に手書き風フォントでコメントを入れられるだけで、こんなに楽しいとは。 最近は Flickr にもオリジナル写真ではなくて、携帯百景写真をアップロードするのがほとんどだった。
写真そのもので勝負って難しいけれど、コメント書けると素直にメッセージを訴えることができていいね。
Twitter に Dropbox 紹介を5回流して10人前後登録を GET。 Twitter の影響力を実感。
Twitter の replies (mentions) をフィードリーダや Plagger で読めるようにするために、Basic 認証で Twitter にアクセスしてフィードをとってきてそのまま出力する Perl CGI スクリプトを書いて使っていたのだが、やはり Basic 認証が嫌なので OAuth 認証に書き換えた。
Net::Twitter モジュールだと取ってきたフィードが Perl のデータ構造になってしまいそのまま再度出力するのが面倒なので、Net::OAuth モジュールでリクエストを作って投げるようにした。
以下エラー処理等を省略したコード。
Web サイトに設置すれば(CGI スクリプト側で認証を済ませて)認証無しで replies のフィードが取れるようになるので簡単にフィードリーダで読めるようになる。
#!/usr/bin/perl -w use strict; use warnings; use CGI; use LWP::UserAgent; use Net::OAuth; use Data::Random qw(rand_chars); $Net::OAuth::PROTOCOL_VERSION = Net::OAuth::PROTOCOL_VERSION_1_0A; my $consumer_key = 'YOUR CONSUMER KEY'; my $consumer_secret = 'YOUR CONSUMER SECRET'; my $access_token = 'YOUR ACCESS TOKEN'; my $access_token_secret = 'YOUR ACCESS TOKEN SECRET'; my $url = 'http://twitter.com/statuses/replies.atom'; my $method = 'GET'; my $query = CGI->new; my $request = Net::OAuth->request('protected resource')->new( consumer_key => $consumer_key, consumer_secret => $consumer_secret, request_url => $url, request_method => $method, signature_method => 'HMAC-SHA1', timestamp => time, nonce => join('', rand_chars(ssize => 16, set => 'alphanumeric')), token => $access_token, token_secret => $access_token_secret, extra_params => {count => '200'}); $request->sign; my $ua = LWP::UserAgent->new; my $response; if ($method eq 'GET') { $response = $ua->get($request->to_url); } else { $response = $ua->post($request->to_url); } print $query->header('application/atom+xml; charset=utf-8'); print $response->content;
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。