だるろぐ

明日できることは、今日しない。

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 を読み込んでおけば、勝手に整形もしてくれるみたい。ちょっと日付周りの表記がおかしいけれど、まぁ、これぐらいはしょうがないかな。