Twitterのユーザ名からアイコンを取得する方法

【追記】この記事の内容が古くなったので、新しく調べて以下の記事にまとめました。Twitter アカウント名を入れるだけでアイコン画像を表示してくれるURL

こんにちは。ときどきTwitter APIを使って開発している@kasumiiです。

Twitterのユーザ名(screen_name)がわかっていればそれをURLに入れるだけでアイコン取得できちゃうtweetimag.esというサービスを利用していたのですが、最近ずっと落ちたままで困ったので代替手段を探すことにしました。

UserIcons

tweetimag.esと同じように{screen_name}の部分にユーザ名を入れてあげるだけ。
アイコンを取得するまでに少し時間がかかる場合もあるようです。

UserIconsはTwitter以外にも、flickr / github / hatena / lastfm / logpi / najimi / turnyournameintoaface / wassrに対応しているので別サービスのアイコンも一度に取得したいときは便利ですね。

404 Blog Not Found:#perl – twitterのアイコンURLを固定するAPI

dankogaiさんのアイコン取得API。アイコンの大きさ別に取得できます。

APIを直に叩いても大丈夫とのことですが、Perlのソースコードも公開されているので商用サービスや負荷がかかりそうな場合は自分のサーバに設置して使いましょう。

TwitterアイコンURL取得API – 風柳メモ

GAE/Python製。アイコンの大きさが4種類選べるほか、背景画像も取得できます。

twicon
twitterのアイコン画像を取得するAPI

アイコンの大きさが4種類選べます。また、PHPのソースコードも公開されているのでキャッシュ時間などを調整して自分のサーバに置いて使えます。

redirect twitter profile image

アイコンの大きさが選べます。ユーザページをParseしているとのことなので取得できなくなる場合がありそうです。アイコンのURLを取得できなかった場合はクラッシュアイコンが表示されます。

APIを叩いてTwitterのアイコンを取得する(tweetimag.esがダメそうなので) | mutter

URLに埋め込んで使うタイプではないけど、PHP+HTTP_Clientのソースコード5行でアイコン取得する方法を書いたエントリーがあったのでメモメモ。

こうやって探してみるといろいろなサービスがありますが、tweetimag.esのように第三者が運営しているサービスはいつか使えなくなってしまう可能性が高いので、結局のところはTwitter公式APIを叩いて自分のサーバにキャッシュさせておくのが良いのかも知れませんね。

Twitterの公式APIでも以下のように指定するとアイコン画像にリダイレクトされるのですが、

http://api.twitter.com/1/users/profile_image/{screen_name}

APIドキュメントには、

This method should only be used by application developers to lookup or check the profile image URL for a user. This method must not be used as the image source URL presented to users of your application.

GET users/profile_image/:screen_name

イメージタグの中に直接埋め込んで使わないでね!と書いてあるので、そのまま画像のsrcに指定してはいけないようです。これが許可されればものすごく簡単なのですけどねー。