XAML Twitter客户端。从用户获取所有推文

XAML Twitter客户端。从用户获取所有推文,twitter,windows-store-apps,winrt-xaml,.net-4.5,Twitter,Windows Store Apps,Winrt Xaml,.net 4.5,首先,我要说我对构建Windows8应用程序是新手。我最近下载了以下XAML Twitter客户端示例: 在代码中,它使用以下关键字搜索推文: SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri("http://search.twitter.com/search.rss?q=" + TweetSearch)); “TweetSearch”是包含关键字的字符串值 我试图更改此代码以检索和显示某个用户的所有tweet,但无法

首先,我要说我对构建Windows8应用程序是新手。我最近下载了以下XAML Twitter客户端示例:

在代码中,它使用以下关键字搜索推文:

SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri("http://search.twitter.com/search.rss?q=" + TweetSearch));
“TweetSearch”是包含关键字的字符串值

我试图更改此代码以检索和显示某个用户的所有tweet,但无法使其正常工作。这是我最近的一次采访:

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))});
    }
}
但我收到错误“指定的参数超出了有效值的范围。”

以下是有关

您必须像这样更改单击事件

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的数据模板,我使用了现有的数据模板。如果要显示用户的配置文件图片,请查看的文档。您必须对响应进行反序列化。

我似乎记得API的更高版本说您必须经过身份验证。因此,我向支持WinRT的Twitter推荐Linq。
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
        });
    }
}