9个版本

0.1.8 2022年10月25日
0.1.7 2022年8月6日
0.1.6 2022年6月19日
0.1.5 2022年4月25日
0.1.0 2022年3月27日

#154HTTP客户端

Download history 170/week @ 2024-03-14 169/week @ 2024-03-21 299/week @ 2024-03-28 270/week @ 2024-04-04 236/week @ 2024-04-11 259/week @ 2024-04-18 317/week @ 2024-04-25 226/week @ 2024-05-02 338/week @ 2024-05-09 311/week @ 2024-05-16 261/week @ 2024-05-23 196/week @ 2024-05-30 1519/week @ 2024-06-06 1972/week @ 2024-06-13 2802/week @ 2024-06-20 3376/week @ 2024-06-27

每月 9,680 次下载

MIT/Apache

130KB
4K SLoC

twitter-v2

v2

支持Twitter v2 API的所有端点,但由于API的复杂性和时间限制,许多端点仍未得到充分测试。非常欢迎PR和Issue!由于该仓库目前文档有限,请查看惊人的Twitter API v2文档以获取信息。

特性

  • oauth2: 默认包含。请参阅示例了解如何使用。
  • native-tls: 使用 native-tls 作为TLS后端(默认)
  • rustls-tls: 使用 rustls 作为TLS后端

示例

use twitter_v2::TwitterApi;
use twitter_v2::authorization::{Oauth2Token, BearerToken};
use twitter_v2::query::{TweetField, UserField};

let auth = BearerToken::new(std::env::var("APP_BEARER_TOKEN").unwrap());
let tweet = TwitterApi::new(auth)
    .get_tweet(1261326399320715264)
    .tweet_fields([TweetField::AuthorId, TweetField::CreatedAt])
    .send()
    .await?
    .into_data()
    .expect("this tweet should exist");
assert_eq!(tweet.id, 1261326399320715264);
assert_eq!(tweet.author_id.unwrap(), 2244994945);
assert_eq!(tweet.created_at.unwrap(), datetime!(2020-05-15 16:03:42 UTC));

let auth: Oauth2Token = serde_json::from_str(&stored_oauth2_token)?;
let my_followers = TwitterApi::new(auth)
    .with_user_ctx()
    .await?
    .get_my_followers()
    .user_fields([UserField::Username])
    .max_results(20)
    .send()
    .await?
    .into_data();

许可证: MIT OR Apache-2.0

依赖项

~10–25MB
~358K SLoC