Crate twitter_stream [−] [src]
Twitter Stream
A library for listening on Twitter Streaming API.
Usage
Add twitter-stream
to your dependencies in your project's Cargo.toml
:
[dependencies]
twitter-stream = "0.3"
and this to your crate root:
extern crate twitter_stream;
Overview
Here is a basic example that prints each Tweet's text from User Stream:
extern crate futures; extern crate twitter_stream; use futures::{Future, Stream}; use twitter_stream::{StreamMessage, Token, TwitterStream}; let token = Token::new("consumer_key", "consumer_secret", "access_key", "access_secret"); let stream = TwitterStream::user(&token).unwrap(); stream .for_each(|msg| { if let StreamMessage::Tweet(tweet) = msg { println!("{}", tweet.text); } Ok(()) }) .wait().unwrap();
In the example above, stream
disconnects and returns an error when a JSON message from Stream has failed to parse.
If you don't want this behavior, you can opt to parse the messages manually:
extern crate serde_json; use twitter_stream::{StreamMessage, Token, TwitterJsonStream}; let stream = TwitterJsonStream::user(&token).unwrap(); stream .for_each(|json| { if let Ok(StreamMessage::Tweet(tweet)) = serde_json::from_str(&json) { println!("{}", tweet.text); } Ok(()) }) .wait().unwrap();
Reexports
pub use direct_message::DirectMessage; |
pub use entities::Entities; |
pub use error::Error; |
pub use error::StreamError; |
pub use error::Result; |
pub use geometry::Geometry; |
pub use list::List; |
pub use message::StreamMessage; |
pub use place::Place; |
pub use tweet::Tweet; |
pub use user::User; |
Modules
direct_message |
Direct messages |
entities |
Entities |
error |
Error types |
geometry |
Geometry object |
list |
Lists |
message |
Messages from Streaming API. |
place |
Place |
tweet |
Tweets |
types |
Common types used across the crate. |
user |
Users |
Structs
Token |
An OAuth token used to log into Twitter. |
TwitterJsonStream |
Same as |
TwitterStream |
A listener for Twitter Streaming API. |
TwitterStreamBuilder |
A builder for |