【问题标题】:How to get the user activity using tweetsharp library?如何使用 tweetsharp 库获取用户活动?
【发布时间】:2013-08-13 13:50:12
【问题描述】:

我正在使用带有 tweetsharp 库的 wpf 创建一个演示应用程序,我需要获取用户活动,例如 TweetDeck 活动。 我们如何才能完成这项任务? 请帮帮我。

任何帮助将不胜感激。

【问题讨论】:

    标签: wpf api twitter tweetsharp


    【解决方案1】:

    您应该使用下面的代码行在站点流的帮助下获取tweetsharp library 的 Twitter 活动。

    public void Can_stream_from_user_stream()
            {
                const int maxStreamEvents = 5;
    
                var block = new AutoResetEvent(false);
                var count = 0;
    
                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;
                            Assert.IsNotNull(friends);
                            Assert.IsNotNull(friends.RawSource);
                            Assert.IsTrue(friends.Ids.Any());
                        }
    
                        if (streamEvent is TwitterUserStreamEvent)
                        {
                            var @event = (TwitterUserStreamEvent)streamEvent;
                            Assert.IsNotNull(@event);
                            Assert.IsNotNull(@event.TargetObject);
                            Assert.IsNotNull(@event.RawSource);
                        }
    
                        if (streamEvent is TwitterUserStreamStatus)
                        {
                            var tweet = ((TwitterUserStreamStatus)streamEvent).Status;
                            Assert.IsNotNull(tweet);
                            Assert.IsNotNull(tweet.Id);
                            Assert.IsNotNull(tweet.User);
                            Assert.IsNotNull(tweet.RawSource);
                            Assert.IsNotNull(tweet.User.ScreenName);
                        }
    
                        if (streamEvent is TwitterUserStreamDirectMessage)
                        {
                            var dm = ((TwitterUserStreamDirectMessage)streamEvent).DirectMessage;
                            Assert.IsNotNull(dm);
                            Assert.IsNotNull(dm.Id);
                            Assert.IsNotNull(dm.Sender);
                            Assert.IsNotNull(dm.Recipient);
                            Assert.IsNotNull(dm.RawSource);
                        }
    
                        if (streamEvent is TwitterUserStreamDeleteStatus)
                        {
                            var deleted = (TwitterUserStreamDeleteStatus)streamEvent;
                            Assert.IsNotNull(deleted);
                            Assert.IsTrue(deleted.StatusId > 0);
                            Assert.IsTrue(deleted.UserId > 0);
                        }
    
                        if (streamEvent is TwitterUserStreamDeleteDirectMessage)
                        {
                            var deleted = (TwitterUserStreamDeleteDirectMessage)streamEvent;
                            Assert.IsNotNull(deleted);
                            Assert.IsTrue(deleted.DirectMessageId > 0);
                            Assert.IsTrue(deleted.UserId > 0);
                        }
                        count++;
                        if (count == maxStreamEvents)
                        {
                            block.Set();
                        }
                    }
                    else
                    {
                        Assert.Ignore("Stream responsed with status code: {0}", response.StatusCode);
                    }
                });
    
                block.WaitOne();
                service.CancelStreaming();
            }
    

    我从this Link得到的代码行以上

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2021-07-01
      • 1970-01-01
      • 2014-01-09
      • 2014-05-06
      • 2021-07-12
      相关资源
      最近更新 更多