问题描述
我正在尝试使用egg_mode板条箱按照以下示例检索一条推文流:https://github.com/egg-mode-rs/egg-mode/blob/master/examples/stream_filter.rs,但输入令牌的方式略有不同。
#[tokio::main]
async fn main() {
let con_token = egg_mode::KeyPair::new(CONSUMER_KEY,CONSUMER_SECRET);
println!("Live streaming tweets...");
println!("Ctrl-C to quit\n");
let stream = egg_mode::stream::filter()
.track(&["rustlang"])
.start(&Token::Bearer(BEARERTOKEN.to_string()))
.try_for_each(|m| {
if let StreamMessage::Tweet(tweet) = m {
println!("{}\n{}",tweet.created_at,tweet.text);
} else {
println!("{:?}",m);
}
futures::future::ok(())
});
if let Err(e) = stream.await {
println!("Stream error: {}",e);
println!("disconnected")
}
}
但是我一直收到401未经授权的错误。
使用相同的承载令牌,我可以按照以下示例使用egg_mode :: tweet :: user_timeline毫无问题地检索tweets:https://github.com/egg-mode-rs/egg-mode/blob/master/examples/bearer.rs
可能是什么问题?
解决方法
在通过令牌枚举的Access变体而不是Bearer变体之后成功。