1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rustのegg-modeで認証されたユーザの情報を取ってくる方法

Posted at

# はじめに

rustでtwitterのapiをさわるときにegg-modeを使いました。
pythonでtweepy使ってたので、その気分でやってて、大抵のことはできたのですが、
「認証されたユーザの情報を取ってくる方法」がわかりませんでした。

tweepyだとapiにme()で取れるので、egg-modeでも同じような機能あるだろうと思ってドキュメント漁ったのですがありませんでした。

tweepyのme()のコード見て、authでなにかしてるな感があったので、egg-modeでやってみたら、動いたので、コードをのせておきます。

Cargo.toml
[dependencies]
dotenv = "0.11"
egg-mode = "0.15"
tokio = { version = "0.2", features = ["full"] }
use dotenv::dotenv;
use std::env;
use egg_mode;
use tokio::prelude::*;

#[tokio::main]
async fn main() {
    dotenv().ok();

    let c_key = env::var("CONSUMER_KEY").expect("Please set consumer-key in .env");
    let c_secret = env::var("CONSUMER_SECRET").expect("Please set consumer-secret in .env");
    let a_key = env::var("ACCESS_KEY").expect("Please set access-key in .env");
    let a_secret = env::var("ACCESS_SECRET").expect("Please set access-secret in .env");
    let consumer_token = egg_mode::KeyPair::new(c_key, c_secret);
    let access_token = egg_mode::KeyPair::new(a_key, a_secret);
    let token = egg_mode::Token::Access {
        consumer: consumer_token,
        access: access_token,
    };

    let user = egg_mode::auth::verify_tokens(&token).await.unwrap();

    println!("{}", user.screen_name);
}

.envファイルは各自用意してください。

おわりに

歴史のあるライブラリだとググれば大抵のことは分かるのですが、新しいライブラリだと情報が少ないのがつらいですね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?