#post #reddit #api #api-wrapper #user #comments #oauth

已删除 new-rawr

Reddit更新版Rust API包装器

0.0.1 2021年3月29日

#42 in #reddit

MIT 许可证

150KB
2.5K SLoC

new-rawr

Rust 欢迎使用new-rawr,这是新的Reddit Rust API包装器。这个库为Rust提供了简单、无痛苦的访问Reddit API的方式。如果您想创建Reddit机器人、从API抓取数据或创建由Reddit API驱动的Web应用程序,rawr可以帮助您简单有效地完成这些任务。

与OG Rawr的不同之处

此更新了所有依赖项,并将rust版本更新到了最新版本。

功能

  • 支持基于密码的认证(具有OAuth支持,因此您的应用程序是面向未来的!)和无名认证。
  • 可迭代的帖子和评论列表,可以自动从API获取必要的数据。
  • 通过轮询API自动更新的'流'来获取最新的线程/评论/消息 - 适用于响应新帖子的机器人。

示例

extern crate new - rawr;
use rawr::prelude::*;

fn main() {
    // Creates a new client to access the reddit API. You need to set a user agent so Reddit knows
    // who is using this client.
    let client = RedditClient::new("your user agent here", AnonymousAuthenticator::new());
    // Access the subreddit /r/rust.
    let subreddit = client.subreddit("rust");
    // Gets the hot listing of /r/rust. If the API request fails, we will panic with `expect`.
    let mut hot_listing = subreddit.hot(ListingOptions::default()).expect("Could not fetch post listing!");
    // Iterates through the top 50 posts of /r/rust. If you do not `take(n)`, this iterator will
    // continue forever!
    for post in hot_listing.take(50) {
        println!("{}", post.title());
    }
}

依赖项

~6–17MB
~236K SLoC