我在应用程序中使用Spring.NET Twitter 扩展。我不想在循环中查询 twit 更新(拉),我只想收听感兴趣的 twit(标签、@提及、关键字或时间轴中的更新)并在它们到来时接收推送通知。所以我认为这样做的方法是使用事件模型,例如Observables,但是,我在 API 中找不到任何东西来处理这个问题,也找不到任何示例来演示它。如果有人可以为我提供此功能的正确方向,我将不胜感激。谢谢。
2 回答
Spring Social Twitter 最近才开始支持 Twitter 的流 API。但这是针对 Java 的,您的问题是关于 SpringSocial.NET。我怀疑 SpringSocial.NET 是否支持这一点。但我会联系 Bruno(SpringSocial.NET 项目负责人),看看他是否可以在这里插话。
在 SpringSocial.NET 支持 Twitter 的流 API 之前,您的选择是继续轮询(由于速率限制问题,这是不理想的)或自己实现流支持。我敢肯定,布鲁诺不会介意为他的项目添加流媒体支持的拉取请求。:)
需要明确的是,SpringSocial.NET 与 Spring Social 不是同一个项目,这两个项目只是松散相关(因为如果有关于 SpringSocial.NET 的问题,我知道该给谁发电子邮件)。
Rx 将允许您很好地公开基于 Push 的 API。如果 API 不支持推送,那么您可以通过轮询使用 Rx 来伪造推送,但将其公开为推送(Observable.Interval
或调度程序等)。
您首先需要了解 Twitter 如何公开基于推送的通知。如果你的客户端(Spring.NET Twitter Ext)不支持这个,你就会陷入轮询(通过或不通过 Rx)。
看来您想查看 Twitter Streams API ( https://dev.twitter.com/docs/streaming-apis )