#youtube #search #api-key #api #lemnoslife

youtube_search

用于导航 YouTube API 的 crate

2 个稳定版本

1.0.2 2023 年 10 月 5 日
1.0.1 2023 年 10 月 3 日
1.0.0 2023 年 10 月 2 日

#1738 in 网页开发

自定义许可

28KB
698

YouTube 搜索

Crates.io Run tests

概览

这个 Rust 库提供了一种异步接口,用于与 YouTube 频道和视频交互。它使用 lemnoslife youtube API 从 YouTube 获取数据,而不需要使用 API 密钥。如果您觉得这个库很有用,请考虑支持他们。

特性

  • 通过名称获取 YouTube 频道
  • 获取频道的最新视频
  • 通过视频 ID 搜索视频

要求

  • Rust(推荐使用最新稳定版本)
  • Tokio 运行时
  • thiserror crate 用于错误处理

安装

将以下行添加到您的 Cargo.toml 文件中的 [dependencies] 部分

youtube_search = "1.0.1"

使用

以下是一个简单的示例,演示了如何使用此库

use youtube_search::{
    find_youtube_channel,
    find_latest_videos,
    find_video,
};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let channel = find_youtube_channel("ChannelName").await?;
    println!("Channel Title: {}", channel.title);

    let videos = find_latest_videos(&channel, 5).await?;
    println!("Latest videos: {:?}", videos);

    let video = find_video("video_id_here".to_string()).await?;
    println!("Video Title: {}", video.title);

    Ok(())
}

文档

模块

src/lib.rs 主库文件,提供用户交互功能。

src/youtube/channel.rs 定义了 Channel 结构和初始化及获取详情的方法。

src/youtube/video.rs 定义了 Video 结构和通过 ID 搜索视频的方法。

src/youtube/playlist.rs 定义了 Playlist 结构。

测试

此项目使用 tokio 测试框架进行异步测试。

使用以下命令运行测试套件

cargo test

贡献

如果您有任何改进或修复,请随时打开问题或拉取请求。

许可

MIT 许可。有关详细信息,请参阅 LICENSE

依赖

~6–21MB
~280K SLoC