2010-04-21 59 views
3

我已经实现了一种手动刮取搜索Twitter页面并在不同页面上获取推文的方法。 但是由于存在快速刷新率,该方法会触发异常。 因此,我决定用TweetSharp API代替获取使用TweetSharpAPI的所有用户的推文

var search = FluentTwitter.CreateRequest() 
          .AuthenticateAs(TWITTER_USERNAME, TWITTER_PASSWORD) 
          .Users() 
          .SearchFor("dumbledore"); 

var result = search.Request(); 
var users = result.AsUsers(); 

该代码是在网站上。 有谁知道我可以如何避免给我的凭据,并从所有用户检索,而不仅仅是我作为朋友?

谢谢!

+0

我假设你是指所有* public * feeds?这里可能存在一些隐私问题,这会妨碍此功能的可用性。 – 2010-04-21 19:15:09

+0

是公共饲料 – Lilz 2010-04-21 19:16:09

回答

0

你想要做的是与Twitter Streaming API接口。该API允许你打开与Twitter的持久连接,然后Twitter将流导致到你,因为他们进来,

Twitter Streaming API diagram

(从Twitter的流API页面获取)

这就是说,TweetSharp目前不支持Streaming API。但是,open a connection to Twitter in .NET and process the responses as they're received并不困难(但是,我建议使用HttpClient class来异步处理此内容,并使用适当的JSON解析库,如Json.NET)。

注意在图“流式连接过程”的第三列,特别是中间部分:

可以接收流式传输的鸣叫,执行处理,并将结果保存

正如以及“HTTP服务器进程“列:

服务器从数据存储中提取处理结果并呈现视图。

虽然没有明确提到,但您最好只是坚持Tweet,因为您将它置入数据存储区,然后让另一个进程处理Tweets;您可能会收到的Tweets数量太高,以至于在您收到Tweet时会执行任何处理,将会收到新的Tweets。

对于您的具体情况,您需要访问Public Streams,其中POST filter为“dumbledore”。

+0

有没有什么可以在这里完成的答案?它不是直接解决OP所要求的,还是我错过了什么? – casperOne 2012-08-08 18:48:26

相关问题