0

TweetSharpを使用してツイートの会話履歴にアクセスしようとしています。

要件は、1つのツイートアイテムのIDを使用すると、そのツイートアイテムの前に続くスレッド全体が返されるはずです。

しかし、TwittertServiceを介して公開されたそのようなメソッドを見つけることができませんでした。ここで、現在のTweet _idを渡して、会話の詳細を取得できます。

私は次のアプローチに従ってコレクション(リスト)を取得しました。

List<TwitterStatus> list = new List<TwitterStatus>();


private void GetReplied(TwitterStatus twitter, TwitterResponse twitterResponse)
{
    if (twitter.InReplyToStatusId != null)
    {
        long statusID = (long)twitter.InReplyToStatusId;
        this.ts.GetTweet(statusID, (twitterRecursive,
                                    twitterResponseRecursive) =>
                                    {
                                        list.Add(twitterRecursive);
                                        if (twitter.InReplyToStatusId != null)
                                        {
                                            this.GetReplied(twitterRecursive,
                                                            twitterResponseRecursive);
                                        }
                                    });
    }
    else
    {
        Debug.WriteLine(list.Count);
        foreach (TwitterStatus status in list)
        {
            Debug.WriteLine(status.Text);
        }
    }
}

this.ts.GetTweet(<tweet Id>, twitterResponse) =>
{
        list.Add(twitter);
        this.GetReplied(twitter, twitterResponse);
});

それについて、あなたのアドバイスが欲しかっただけです。TweetSharpでそのような方法はありますか、それとも別のアプローチを実装できますか?

本当にあなたの助けに感謝します。

4

1 に答える 1

0

うん、それがあなたがそれをしなければならない方法です: ツイートから始めて、そのin_reply_to_status_id連鎖をたどってください.

あなたには当てはまらないかもしれませんが、Twitter から取得する前にツイートのローカル キャッシュをチェックして、返信対象のツイートを既に取得しているかどうかを確認します。

これを簡単にするライブラリについては、私は知りません。より合理化されたメソッドを公開するかどうかに関係なく、内部では、コードに実装したプロセスを実行する必要があります。

別のライブラリがこのタスクにどのようにアプローチしたかを確認するには、この Twitterizer サンプルをご覧ください。

于 2011-06-03T13:51:18.423 に答える