29次发布
0.13.0 | 2021年7月17日 |
---|---|
0.12.0 | 2021年1月12日 |
0.11.0 | 2020年10月20日 |
0.10.0 | 2020年7月11日 |
0.2.0 | 2017年2月26日 |
#2 in #listening
每月下载量 31次
用于 2 crates
46KB
716 行
Twitter Stream
Rust库,用于监听Twitter流式API。
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
futures = "0.3"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
twitter-stream = "0.13"
以下是一个基本示例,以JSON格式打印@Twitter的公开提及
use futures::prelude::*;
use twitter_stream::{Token, TwitterStream};
#[tokio::main]
async fn main() {
let token = Token::new("consumer_key", "consumer_secret", "access_key", "access_secret");
TwitterStream::track("@Twitter", &token)
.try_flatten_stream()
.try_for_each(|json| {
println!("{}", json);
future::ok(())
})
.await
.unwrap();
}
替代方案
egg-mode
,一个Twitter API客户端crate,也实现了流式API客户端。下表显示了twitter-stream
和egg-mode
之间的关键差异。
twitter-stream |
egg-mode |
|
---|---|---|
流消息类型 | string::String<bytes::Bytes> (原始JSON字符串) |
StreamMessage (反序列化消息) |
REST API集成 | 否 | 是 |
可定制HTTP客户端 | 是 | 否 |
如果您的应用程序不需要显式控制原始JSON字符串或底层HTTP客户端,则egg-mode
可能是一个更好的选择。
许可证
除非明确说明,否则本项目根据MIT许可证(LICENSE 或 https://opensource.org/licenses/MIT)授权。
依赖项
~1–13MB
~144K SLoC