#reddit #api #async #api-bindings #user-agent

roux

简单且异步的 Reddit API 包装器

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日

#240Web编程

Download history 206/week @ 2024-04-01 37/week @ 2024-04-08 57/week @ 2024-04-15 43/week @ 2024-04-22 23/week @ 2024-04-29 24/week @ 2024-05-06 37/week @ 2024-05-13 28/week @ 2024-05-20 56/week @ 2024-05-27 36/week @ 2024-06-03 25/week @ 2024-06-10 29/week @ 2024-06-17 25/week @ 2024-06-24 21/week @ 2024-07-01 8/week @ 2024-07-08 35/week @ 2024-07-15

92 每月下载量
用于 6 个Crate (4 直接)

MIT 许可证

83KB
1.5K SLoC

Roux

Build Documentation Crate GitHub

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