如何使用TweetSharp访问推文历史对话?

时间:2011-06-03 11:10:35

标签: twitter tweetsharp

我正在尝试使用TweetSharp访问推文对话历史记录。

要求就像,如果我使用一个推文项的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或任何替代方法都可以实现吗?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

是的,这就是你必须要做的事情:从推文开始并走in_reply_to_status_id链。

我做的一件事,虽然它可能不适用于您,但是在从Twitter获取之前检查本地的推文缓存,看看我是否已经提取了被回复的推文。

至于使这更容易的图书馆,我不知道。无论他们是否公开了更简化的方法,他们仍然必须执行您在代码中实现的流程。

要查看其他图书馆如何处理此任务,请查看this Twitterizer sample