13个不稳定版本
0.7.0 | 2021年3月26日 |
---|---|
0.6.0 | 2020年2月1日 |
0.5.2 | 2019年10月10日 |
0.5.0 | 2019年6月27日 |
0.4.0 | 2018年3月23日 |
#19 in #twitter
29KB
736 行
twapi-rs
一个简单的Twitter库。易于定制。
描述
twapi-rs是一个简单的Twitter库。易于定制。
特性
- 应用仅认证
- 用户认证
- 支持JSON(dm_event,welcome_message,media_metadata)
- Oauth1.0认证
- 媒体上传
- 账户活动API
- OAuth Web应用程序示例
- 账户活动Web应用程序示例
- 异步/Await(如果您想进行同步执行,请使用twapi-ureq。)
- 任何可执行的Twitter API(可能...)
示例
use twapi::Twapi;
#[tokio::main]
async fn main() {
// Application Only Authentication Sample
let consumer_key = "xxx";
let consumer_secret = "xxx";
let applicaiton_auth = twapi::ApplicationAuth::new(
&twapi::oauth2::get_bearer_token(consumer_key, consumer_secret).await.unwrap()
);
let res = applicaiton_auth.get_search_tweets(
&vec![("q", "新宿"), ("count", "2")]
).await.unwrap();
println!("{:?}", res);
// Custmize Sample. Any API Executable!
let res: serde_json::Value = applicaiton_auth.get(
"https://api.twitter.com/1.1/statuses/user_timeline.json",
&vec![("screen_name", "aoyagikouhei"), ("count", "2")]
).await.unwrap().json().await.unwrap();
println!("{:?}", res);
// JSON Sample
let user_auth = twapi::UserAuth::new(
"xxx",
"xxx",
"xxx",
"xxx"
);
let data = r#"{
"event": {
"type": "message_create",
"message_create": {
"target": {
"recipient_id": "19522946"
},
"message_data": {
"text": "予定表〜①ハンカクだ!"
}
}
}
}"#;
let v : serde_json::Value = serde_json::from_str(data).unwrap();
let res = user_auth.post_direct_messages_events_new(&v).await;
println!("{:?}", res);
// Media Upload
let res = user_auth.post_media_upload_chunk("test.mp4", "video/mp4", "tweet_video", None).await;
println!("{:?}", res);
}
依赖
~10–25MB
~378K SLoC