37 个稳定版本
2.2.12 | 2024年3月6日 |
---|---|
2.2.9 | 2023年6月7日 |
2.2.6 | 2023年3月25日 |
2.2.5 | 2022年12月28日 |
0.2.1 | 2019年7月19日 |
#240 在 Web编程
92 每月下载量
用于 6 个Crate (4 直接)
83KB
1.5K SLoC
Roux
Roux 是一个用 Rust 实现的简单、异步 Reddit API 包装器。
用法
使用 OAuth
要使用 Reddit API 创建 OAuth 客户端,请使用 Reddit
类。
use roux::Reddit;
let client = Reddit::new("USER_AGENT", "CLIENT_ID", "CLIENT_SECRET")
.username("USERNAME")
.password("PASSWORD")
.login()
.await;
let me = client.unwrap();
选择一个好的用户代理非常重要。理想格式为 platform:program:version (by /u/yourname)
,例如 macos:roux:v2.0.0 (by /u/beanpup_py)
。这将使您以在用户名函数中给出的用户身份进行认证。
用法
使用 OAuth 客户端,您可以
提交文本帖子
use roux::Reddit;
let client = Reddit::new("USER_AGENT", "CLIENT_ID", "CLIENT_SECRET")
.username("USERNAME")
.password("PASSWORD")
.login()
.await;
let me = client.unwrap();
me.submit_text("TEXT_TITLE", "TEXT_BODY", "SUBREDDIT").await?;
提交链接帖子
use roux::Reddit;
let client = Reddit::new("USER_AGENT", "CLIENT_ID", "CLIENT_SECRET")
.username("USERNAME")
.password("PASSWORD")
.login()
.await;
let me = client.unwrap();
me.submit_link("LINK_TITLE", "LINK", "SUBREDDIT").await?;
只读模块
还有不需要认证的只读模块
阻塞客户端
您可以通过启用 blocking
功能使用阻塞(同步)API 而不是 tokio。
[dependencies]
roux = { version = "2", features = ["blocking"] }
use roux::Reddit;
let client = Reddit::new("USER_AGENT", "CLIENT_ID", "CLIENT_SECRET")
.username("USERNAME")
.password("PASSWORD")
.login();
let me = client.unwrap();
me.submit_link("LINK_TITLE", "LINK", "SUBREDDIT");
第三方库
roux-stream
提供了持续流式传输新提交和评论的 API
贡献
Roux 目前不在积极开发中,但仍在使用和维护,目前涵盖了最常见的和最有用的端点。如果您看到缺少的内容或遇到错误,请随时打开一个问题或创建一个 pull request。
许可证
Roux 在 MIT 许可证下发布(请参阅 LICENSE 文件)。
依赖关系
~3–15MB
~231K SLoC