0

私は Windows 8 アプリケーションを構築するのは初めてだと言うことから始めます。最近、次の XAML-Twitter Client Example をダウンロードしました。

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))
            });
        }
4

1 に答える 1

0

これはGET statuses/user_timelineのドキュメントです

このようにクリックイベントを変更する必要があります

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のドキュメントを確認してください。応答をデシリアライズする必要があります。

于 2013-04-30T06:30:34.940 に答える