Hatena::ブログ(Diary)

IIJIMASの日記 RSSフィード

2009-10-18

Twitterのユーザ発言を過去にさかのぼるBookmarklet

タイトルが大げさだったのか、過去のエントリ「一行Twitterクライアント」が意外と人気エントリだったので、お気に入りに実際にドラッグ&ドロップして実行できるブックマークレット自体をどこかに貼ろうと思ったが、通常はてダのエントリではJavascript実行するハイパーリンクは正しく貼れないようなので以下の先にHTMLファイル置いてきた。

http://bit.ly/TwitterUserTL3200

リンク先がつながらなかった時のために、本文の抜粋をこちらにも記述。

Twitter の本家のユーザページ(http://twitter.com/(スクリーン名))を開いているときに、起動すると、そのユーザの発言を200件分表示するブックマークレット

本家サイトはデフォルト20件の表示であり、過去発言をさかのぼるための[more]ボタンは使いづらいのでこちらの方が便利だと思う。

countは200件まで、pageは16ページまでさかのぼれたので、最大3200件分さかのぼれるようだ。


javascript:document.write("<script>function%20fmt(tt){v=tt.split('%20');d=new%20Date(v[1]+'%20'+v[2]+',%20'+v[5]+'%20'+v[3]);d=new%20Date(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()-d.getTimezoneOffset(),d.getSeconds());return(d.toLocaleString());}function%20f(t,i){return('<tr><td>'+i+'</td><td>'+t.text+'</td><td>'+t.id+'</td><td>'+fmt(t.created_at)+'</td></tr>');};function%20y(o,d){d.write('<table%20border=1>');i=1;for(p%20in%20o){d.write(f(o[p],i++));}d.write('</table>');d.close();};function%20x(o){y(o,document);}</script><script%20src='http://twitter.com/statuses/user_timeline/"+location.toString().match(/https?:\/\/twitter.com\/(\#!\/)?(\w+)/)[2]+".json?callback=x&count=200&page=1'></script>");

通常のfriend timeline(http://twitter.com/homeで見れる内容)も同様のブックマークレットで同時に200件表示できる。(初回はtwitter.comの認証情報を求められる。)こちらは、4ページまでさかのぼれるので最大800件の過去の発言を閲覧できる。

javascript:document.write("<script>function%20fmt(tt){v=tt.split('%20');d=new%20Date(v[1]+'%20'+v[2]+',%20'+v[5]+'%20'+v[3]);d=new%20Date(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()-d.getTimezoneOffset(),d.getSeconds());return(d.toLocaleString());}function%20f(t){return('<tr><td>'+t.user.screen_name+'</td><td>'+t.text+'</td><td>'+t.id+'</td><td>'+fmt(t.created_at)+'</td></tr>');};function%20y(o,d){d.write('<table%20border=1>');for(p%20in%20o){d.write(f(o[p]));}d.write('</table>');d.close();};function%20x(o){y(o,document);}</script><script%20src='http://twitter.com/statuses/friends_timeline.json?callback=x&count=200&page=1'></script>");

自分へのリプライ(http://twitter.com/repliesで見れる内容)も同様のブックマークレットで同時になんと875件表示できる。(初回はtwitter.comの認証情報を求められる。)

javascript:document.write("<script>function%20fmt(tt){v=tt.split('%20');d=new%20Date(v[1]+'%20'+v[2]+',%20'+v[5]+'%20'+v[3]);d=new%20Date(d.getFullYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes()-d.getTimezoneOffset(),d.getSeconds());return(d.toLocaleString());}function%20f(t,i){return('<tr><td>'+i+'</td><td>'+t.user.screen_name+'</td><td>'+t.text+'</td><td>'+t.id+'</td><td>'+fmt(t.created_at)+'</td></tr>');};function%20y(o,d){d.write('<table%20border=1>');i=1;for(p%20in%20o){d.write(f(o[p],i++));}d.write('</table>');d.close();};function%20x(o){y(o,document);}</script><script%20src='http://twitter.com/statuses/replies.json?callback=x&count=875'></script>");

追記:2010年9月でBasic認証が終了したのでfriends_timeline、home_timeline、replies、mentionsはこの形では使用できなくなったようだ。

IIJIMASIIJIMAS 2010/08/01 22:00
これは来月からは使用できなくなる…

IIJIMASIIJIMAS 2010/09/01 01:56 Basic 認証が終わったわけですけども…
userタイムライン取得Bookmarkletは基本認証しないから問題ないかも!
home_timelineやfriends_timelineやrepliesやmensionsはダメかな・・・?

IIJIMASIIJIMAS 2010/09/04 22:55 確認したところ「ユーザの発言を200件分表示するブックマークレット」は生きてた!
やはり、home_timelineやfriends_timelineやrepliesやmensionsはダメ・・・

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証