我正在使用 wpf 和 tweetsharp 库创建一个演示应用程序,我需要获取用户事件,例如 TweetDeck 事件。 我们怎样才能完成这个任务呢? 请帮助我。
任何帮助将不胜感激。
最佳答案
您应该使用下面的代码行在站点流的帮助下获取 tweetsharp 库
的 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 获取的
关于wpf - 如何使用tweetsharp库获取用户事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210947/