2010-06-15
TwitterアイコンURL取得API
Twitterの個別ページでアイコン等を前に持ってくるスクリプトをバージョンアップ - 風柳メモの際に…
AutoPageirze for SeaHorseの現状のSITEINFOでは、Twitterの個別ページで継ぎ足されるのは本文の部分(div.hentry)のみで、ユーザ情報部分(div.user-info)が無く、アイコンのURLが含まれていません。
ですが、吹き出しにアイコンを表示するにあたり、どうにかして継ぎ足されたツイートのユーザのアイコンURLを(screen_name辺りから)を引っ張ってくる必要が有りました。
一応、
要はhttp://api.dan.co.jp/twicon/screen_name/sizeが、常に最新のアイコンを指し示すURIとして使えるというわけです。
404 Blog Not Found:#perl - twitterのアイコンURLを固定するAPI
の存在は知ってはいましたが、事情により*1、TwitterのAPI(/users/show)を使用する、ほぼ同様のAPIを例によってGAE/Pythonで自作しました。
API仕様
- ノーマルアイコン取得(48px×48px)
http://gadgtwit.appspot.com/twicon/<screen_name>
http://gadgtwit.appspot.com/twicon/<screen_name>/normal
例:http://gadgtwit.appspot.com/twicon/furyutei - 小さいアイコン取得(24px×24px)
http://gadgtwit.appspot.com/twicon/<screen_name>/mini
例:http://gadgtwit.appspot.com/twicon/furyutei/mini - 大きいアイコン取得(73px×73px)
http://gadgtwit.appspot.com/twicon/<screen_name>/bigger
例:http://gadgtwit.appspot.com/twicon/furyutei/bigger - オリジナルアイコン取得(大きさ不定・アップロードしたサイズ?)
http://gadgtwit.appspot.com/twicon/<screen_name>/original
例:http://gadgtwit.appspot.com/twicon/furyutei/original - 背景画像
http://gadgtwit.appspot.com/twbg/<screen_name>
例:http://gadgtwit.appspot.com/twbg/furyutei (サンプルは50%の大きさに縮めてあります)
オリジナルとの主要な違いは、
- デフォルト(サイズ指定しない場合)は、normalと同じ(オリジナルのほうはbiggerと同じ)。
- キャッシュ時間は
1時間(3600秒)約3時間。 - おまけで、背景画像取得用のAPIもつけてみた。
- Google App EngineのFree Quota範囲を越える程に高負荷な利用があった場合は、提供中止予定。
気付いた点等
[http://gadgtwit.appspot.com/twicon/furyutei:image]
302 Foundで本来のURLに飛ばしているだけなんだけれど、対応していない?
[http://gadgtwit.appspot.com/twicon/furyutei:image=http://gadgtwit.appspot.com/twicon/furyutei]
補足
今になって気がついたけれど、
Twitter Images - http://twitterimag.es
http://b.hatena.ne.jp/rikuo/20091203#bookmark-17710184
なんてものがあるのか〜。最初からこっち使えば良かったかな……。
まぁ、少なくともUserIconsの方はざっとソースを読むかぎりスクレイピングしているみたいだけれども。
*1:TwitterのAPIを使わずにHTMLをパースしているというのが、Twitterの利用規約の“Twitterの事前の承諾なくして本サービスのスクレーピングを行うことは明示的に禁じられています”に引っかかりかねないため。知らなかった当時はともかく、規約を読んだ後だと躊躇われますので……。
- 306 http://www.google.co.jp/url?sa=t&rct=j&q=twitter アイコン 取得&source=web&cd=1&ved=0CCkQFjAA&url=http://d.hatena.ne.jp/furyu-tei/20100615/1276542947&ei=wnWETukCkc-YBZyr4Sk&usg=AFQjCNE6N5i6c9n
- 268 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDEQFjAA&url=http://d.hatena.ne.jp/furyu-tei/20100615/1276542947&ei=-PgYT6qsF4GyiQff25DMDQ&usg=AFQjCNE6N5i6c9nbuW7YK5C4fXclNSnZ_w&sig2=Cl-7Pn34pJ5a-rAv8qJzfA
- 172 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=twitter+ユーザ情報取得 api
- 170 http://www.google.co.jp/search?q=twitter+アイコンを取得&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 122 http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q=twitter+アイコン 取得 api
- 120 http://www.google.co.jp/url?sa=t&rct=j&q=twitter api アイコン取得&source=web&cd=1&ved=0CCcQFjAA&url=http://d.hatena.ne.jp/furyu-tei/20100615/1276542947&ei=7LCiTpWMJ5DzmAWa-eyiCQ&usg=AFQjCNE6N5i6c9n
- 115 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/furyu-tei/20100615/1276542947&rct=j&q=gadgtwit&ei=-BC1TZuqCYWsvgOy_rSPBw&usg=AFQjCNE6N5i6c9nbuW7YK5C4fXclNSnZ_w&cad=rja
- 88 http://www.google.co.jp/search?hl=ja&q=twitter+アイコン 取得&aq=f&aqi=g2&aql=&oq=&gs_rfai=
- 74 http://www.google.co.jp/url?sa=t&rct=j&q=twitter+アイコン+取得&source=web&cd=1&ved=0CCwQFjAA&url=http://d.hatena.ne.jp/furyu-tei/20100615/1276542947&ei=PAPLToLxH42OmQW_x7jODQ&usg=AFQjCNE6N5i6c9nbuW7YK5
- 63 http://www.google.co.jp/url?sa=t&rct=j&q=ツイート アイコン 取得&source=web&cd=1&ved=0CCgQFjAA&url=http://d.hatena.ne.jp/furyu-tei/20100615/1276542947&ei=n7ak

