在C#中从twitter获取照片?

Kam*_*lem 5 c# twitter twitterizer

我正在尝试在.Net WPF应用程序中实现一项功能,以便在用户将照片发布到我的标签时自动显示twitpic中的照片.

我正在使用Twitterizer2 API库,来自我搜索的所有推文都将其链接作为t.co链接(我认为这是来自Twitter).我不知道如何解析这些链接以将图像发送给用户.

as-*_*cii 0

我不知道 Twitterizer2 API 是如何工作的,但我认为你可以通过两种方式解决你的问题:

  1. 在 Twitter 官方 API 中搜索可以帮助您解析此类链接的内容(查看Tweet Entities);
  2. 自己下载该URL的内容并解析;

对于第二种方法,我建议使用类似于下面的函数(此解析基于我在关注的人推文中找到的第一张图片,因此它仅适用于 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

正如你可以想象的那样,用法是:

Uri imgUri = GetPicture("http://t.co/RQu9hZn8"); // this is a real image
Run Code Online (Sandbox Code Playgroud)