Crate twitter_stream [−] [src]
Twitter Stream
A library for listening on Twitter Stream API.
Usage
Add twitter-stream
to your dependencies in your project's Cargo.toml
:
[dependencies]
twitter-stream = "0.1"
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, TwitterStream}; let consumer_key = "..."; let consumer_secret = "..."; let token = "..."; let token_secret = "..."; let stream = TwitterStream::user(consumer_key, consumer_secret, token, token_secret).unwrap(); stream .filter_map(|msg| { if let StreamMessage::Tweet(tweet) = msg { Some(tweet.text) } else { None } }) .for_each(|tweet| { println!("{}", tweet); Ok(()) }) .wait().unwrap();
In the example above, stream
disconnects and returns error when a JSON message from Stream was 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, TwitterJsonStream}; let stream = TwitterJsonStream::user(consumer_key, consumer_secret, token, token_secret).unwrap(); stream .filter_map(|json| { if let Ok(StreamMessage::Tweet(tweet)) = serde_json::from_str(&json) { Some(tweet.text) } else { None } }) .for_each(|tweet| { println!("{}", tweet); Ok(()) }) .wait().unwrap();
Reexports
pub use messages::StreamMessage; |
Modules
messages |
Type-safe abstractions over JSON messages from Twitter Stream API. |
Structs
TwitterJsonStream |
Same as |
TwitterStream |
A listener for Twitter Stream API. |
TwitterStreamBuilder |
A builder for |
Enums
Error |
An error occurred while connecting to the Stream API. |
JsonError |
This type represents all possible errors that can occur when serializing or deserializing a value into JSON. |
Method |
The Request Method (VERB) |
StatusCode |
An HTTP status code ( |
With |
A value for |
Type Definitions
Result |