我将首先说我是构建Windows 8应用程序的新手。我最近下载了以下XAML-Twitter客户端示例:
http://code.msdn.microsoft.com/windowsapps/XAML-Twitter-Client-e343d336#content
在代码中,它使用以下关键字按关键字搜索推文:
SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri("http://search.twitter.com/search.rss?q=" + TweetSearch));
“TweetSearch”是包含关键字的字符串值。
我正在尝试更改此代码以检索并显示某个用户的所有推文但却无法使其正常工作。这是我最接近的是:
SyndicationClient client = new SyndicationClient();
//SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri("https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=UserName"));
model.Tweets.Clear();
foreach (var item in feed.Items)
{
_model.Tweets.Add(new Tweet
{
Name = item.Authors[0].Email,
Message = item.Title.Text,
Image = new BitmapImage(new Uri(item.ElementExtensions.First(element => element.NodeName == "image_link").NodeValue))});
}
}
但我收到错误"Specified argument was out of the range of valid values."
开启
foreach (var item in feed.Items)
{
_model.Tweets.Add(new Tweet
{
Name = item.Authors[0].Email,
Message = item.Title.Text,
Image = new BitmapImage(new Uri(item.ElementExtensions.First(element => element.NodeName == "image_link").NodeValue))
});
}
答案 0 :(得分:0)
您必须像这样更改点击事件
private async void Button_Click_1(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
SyndicationClient client = new SyndicationClient();
SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri("https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=" + SearchTerm.Text));
_model.Tweets.Clear();
foreach (var item in feed.Items)
{
_model.Tweets.Add(new Tweet
{
Message = item.Summary.Text
});
}
}
我没有更改GridView的数据模板,我使用了现有的模板。如果要显示用户的个人资料图片,请查看GET users/show的文档。你必须对响应进行deserliaze。