【问题标题】:Using egg_mode to connect to twitter stream returns 401 Unauthorized使用 egg_mode 连接 Twitter 流返回 401 Unauthorized
【发布时间】:2024-01-25 14:39:01
【问题描述】:

我正在尝试使用 egg_mode crate 根据示例 here 检索推文流,但输入令牌的方式略有不同。

#[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 根据示例 here 毫无问题地检索推文。

可能是什么问题?

【问题讨论】:

    标签: twitter rust rust-cargo mode egg


    【解决方案1】:

    通过Token枚举的Access变体而不是Bearer变体后成功。

    【讨论】: