Embedded Tweets を使ってWebページにツイートを埋め込む

執筆日時:

最近のTwitterでは、ツイートの埋め込み用のタグが、パーマリンクから簡単に取得できるらしい。

f:id:daruyanagi:20120125002147p:plain

これをコードからもやってみたくて、 Embedded Tweets | Twitter Developers を参考にちょっとやってみた。

var tweet_url = url;
// 例: https://twitter.com/#!/daruyanagi/statuses/57438593853034497

var tweet_id = new Regex(@"status/(?<id>\d+)")
.Match(tweet_url).Groups["id"].ToString();

var tweet = new System.Net.WebClient()
.DownloadString(string.Format(
"https://api.twitter.com/1/statuses/oembed.json?id={0}",
tweet_id));

return Codeplex.Data.DynamicJson.Parse(tweet).html;

f:id:daruyanagi:20120125000256p:plain

APIを叩くとJSONデータが返ってくるので、そこから"html"の値を取得。このあたりの処理は DynamicJson (NuGetでインストールできる)で楽をさせてもらいました。

f:id:daruyanagi:20120125000424p:plain

https://platform.twitter.com/widgets.js を読み込んでおけば、勝手に整形もしてくれるみたい。ちょっと日付周りの表記がおかしいけれど、まぁ、これぐらいはしょうがないかな。