yt-api 0.2.0

a work in progress library to interact asynchronously with the youtube api
Documentation

yt-api

Crates.io Documentation dependency status pipeline status

about

With yt-api you can interact asynchronously with the youtube-api. Currently it implements the following endpoints:

  • search

example

A basic search request with yt-api:

/// prints the first answer of a search query
#[runtime::main]
async fn main() -> Result<(), Error> {
    // take api key from enviroment variable
    let key = ApiKey::new(&env::var("YT_API_KEY").expect("YT_API_KEY env-var not found"));

    // create the SearchList struct for the query "rust lang"
    let search_list = SearchList::new(key)
        .q("rust lang")
        .item_type(ItemType::Video);

    // perform the search
    let result = search_list.perform().await?;
    // outputs the title of the first search result
    println!(
        "Title: \"{}\"",
        result.items[0].snippet.title.as_ref().unwrap()
    );
    // outputs the video id of the first search result
    println!(
        "https://youtube.com/watch?v={}",
        result.items[0].id.video_id.as_ref().unwrap()
    );

    Ok(())
}

More examples can be found here.

supported rust versions

the minimum rust version for yt-api is 1.39

license

This project is licensed under the MIT license.

contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in yt-api by you, shall be licensed as MIT, without any additional terms or conditions.