【问题标题】:Streaming Tweet Search TweetSharp流式推文搜索 TweetSharp
【发布时间】:2014-01-11 02:19:51
【问题描述】:

总的来说,我是 Tweet Sharp 和 C# 的新手。我想知道我将如何流式传输特定哈希标签的实时推文。

我一直在使用诸如 ListTweetsOnHomeTimeline 之类的方法返回我的用户主页的一些推文,但是它们不是实时的

【问题讨论】:

    标签: c# twitter tweetsharp


    【解决方案1】:

    很久没用TweetSharp了,不记得怎么流某些hash标签了,但是要返回用户流你可以试试这个方法:

        public void StreamFromUser()
        {
            var block = new AutoResetEvent(false);
    
            var service = GetAuthenticatedService();
    
            service.StreamUser((streamEvent, response) =>
            {
                if (streamEvent is TwitterUserStreamEnd)
                {
                    block.Set();
                }
    
                if (response.StatusCode == 0)
                {
                    if (streamEvent is TwitterUserStreamFriends)
                    {
                        var friends = (TwitterUserStreamFriends)streamEvent;
                    }
    
                    if (streamEvent is TwitterUserStreamEvent)
                    {
                        var @event = (TwitterUserStreamEvent)streamEvent;
                    }
    
                    if (streamEvent is TwitterUserStreamStatus)
                    {
                        var tweet = ((TwitterUserStreamStatus)streamEvent).Status;
                    }
    
                    if (streamEvent is TwitterUserStreamDirectMessage)
                    {
                        var dm = ((TwitterUserStreamDirectMessage)streamEvent).DirectMessage;
                    }
    
                    if (streamEvent is TwitterUserStreamDeleteStatus)
                    {
                        var deleted = (TwitterUserStreamDeleteStatus)streamEvent;
                    }
    
                    if (streamEvent is TwitterUserStreamDeleteDirectMessage)
                    {
                        var deleted = (TwitterUserStreamDeleteDirectMessage)streamEvent;
                    }
                }
                else
                {
                    Assert.Ignore("Stream responsed with status code: {0}", response.StatusCode);
                }
            });
    
            block.WaitOne();
            service.CancelStreaming();
        }
    

    【讨论】:

    • 感谢您的快速回复,我尝试实现此功能,但它只会冻结我的代码。
    • 那是因为推流功能运行在单独的线程上,需要返回UI线程。
    【解决方案2】:

    据我所知,Tweet Sharp 已停产。但是,如果您需要 3rd 方库,我听说过 linqtotwitter 的好消息https://linqtotwitter.codeplex.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2016-02-13
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多