「TwitterアイコンURL取得API」は、Twitter APIの有料化に伴い、2023/02/03に提供を終了致しました。
いらすとやさんの画像をお借りしております
2013/07/30より、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]
だけだと、(No Image)となる。
302 Foundで本来のURLに飛ばしているだけなんだけれど、対応していない?
[http://gadgtwit.appspot.com/twicon/furyutei:image=http://gadgtwit.appspot.com/twicon/furyutei]
補足
今になって気がついたけれど、
UserIcons
http://b.hatena.ne.jp/rikuo/20091203#bookmark-17710184
Inicio | Tweetimag.es
なんてものがあるのか〜。最初からこっち使えば良かったかな……。
まぁ、少なくともUserIconsの方はざっとソースを読むかぎりスクレイピングしているみたいだけれども。
*1:TwitterのAPIを使わずにHTMLをパースしているというのが、Twitterの利用規約の“Twitterの事前の承諾なくして本サービスのスクレーピングを行うことは明示的に禁じられています”に引っかかりかねないため。知らなかった当時はともかく、規約を読んだ後だと躊躇われますので……。