我正在尝试使用egg_mode crate 按照示例here检索推文流,但输入 token 的方式略有不同。
#[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未经授权的错误。使用相同的承载 token ,按照示例here,我可以使用egg_mode::tweet::user_timeline毫无问题地检索tweets。
可能是什么问题呢?
最佳答案
传递 token 枚举的Access变量而不是Bearer变量后,它已成功完成。
关于twitter - 使用egg_mode连接到Twitter流会返回401未经授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63950462/