5

ユーザーがハッシュタグに投稿したときに twitpic から写真を自動的に表示する機能を .Net WPF アプリケーションに実装しようとしています。

私は Twitterizer2 API ライブラリを使用しています。検索からのすべてのツイートには、t.co リンクとしてリンクがあります (これは Twitter からのものだと思います)。これらのリンクを解析して画像を取得し、ユーザーに送信する方法がわかりません。

4

4 に答える 4

2

Twitter から返されるメディア エンティティ データを利用できます。

ここにしばらく前に投稿したサンプルと説明を見ることができます: http://www.twitterizer.net/528/finding-urls-hashtags-and-mentions-using-entities/

サンプルには含まれていませんが、TwitterMediaEntity画像とビデオに関する情報を提供する新しいクラスがあります。

于 2011-10-11T02:10:38.373 に答える
0

Twitterizer2 API の仕組みはわかりませんが、次の 2 つの方法で問題を解決できると思います。

  1. 公式 Twitter API で、そのようなリンクの解析に役立つものを検索します ( Tweet Entitiesを参照)。
  2. その URL のコンテンツを自分でダウンロードして解析します。

2 番目のアプローチでは、以下の関数のようなものを提案します (この解析は、フォローしている人のツイートで見つけた最初の画像に基づいているため、TwitPic 画像に対してのみ機能します)。

private static Uri GetPicture(string twitterUri)
{
    using (var webClient = new WebClient())
    {
        string html = webClient.DownloadString(twitterUri);
        int imgIndex = html.IndexOf("<img class=\"photo\" id=\"photo-display\"");
        int srcStartIndex = html.IndexOf("src", imgIndex) + 5;
        int srcEndIndex = html.IndexOf("\"", srcStartIndex);
        string imgSrc = html.Substring(srcStartIndex, srcEndIndex - srcStartIndex);
        return new Uri(imgSrc);
    }
}

ご想像のとおり、使用法は次のとおりです。

Uri imgUri = GetPicture("http://t.co/RQu9hZn8"); // this is a real image
于 2011-10-08T16:38:30.057 に答える
0

私はこのようなものを使用しました(Twitterizer nugetパッケージを使用)

li.Text = tweet.text;
foreach(Twitterizer.Entities.TwitterEntity te in tweet.Entities)
{
    if(te.GetType() == (typeof(Twitterizer.Entities.TwitterMediaEntity)))
    {
        var b = (Twitterizer.Entities.TwitterMediaEntity) te;
        li.Text += "<img src=\"" + b.MediaUrl + "\" />";
    }
}
于 2012-10-31T10:04:10.600 に答える