0

我正在尝试使用 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 的任何此类方法,或者可以实施任何替代方法?

非常感谢您的帮助。

4

1 回答 1

0

是的,这就是你必须这样做的方式:从一条推文开始,然后走它的in_reply_to_status_id链条。

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

至于使这更容易的库,我不知道。不管他们是否公开了更简化的方法,在幕后他们仍然必须执行您在代码中实现的过程。

要了解另一个库如何处理此任务,请查看此 Twitterizer 示例

于 2011-06-03T13:51:18.423 回答