2 stable releases

1.1.0 Sep 16, 2024
1.0.0 Nov 22, 2023

#1170 in Web programming

MIT license

205KB
4K SLoC

am-api

Apple Music API bindings for rust.

Examples

Fetching an album by id

async fn fetch_album() -> Result<(), Error> {
    let developer_token = "DEVELOPER_TOKEN";
    let media_user_token = "MEDIA_USER_TOKEN";

    let client = ApiClient::new(
        developer_token,
        media_user_token,
        celes::Country::the_united_states_of_america()
    )
        .expect("failed to create api client");

    let album = Album::get()
        .one(&client, "1676791755")
        .await?
        .expect("album fetch returned none");

    let attributes = album
        .attributes
        .expect("album fetch returned an album without attributes");

    assert_eq!(attributes.name, "Unrequited Love - EP");

    Ok(())
}

More examples can be found in the tests folder.

Installation

To add this library to your project use

cargo add am-api

Features

  • rustls-tls pure rust tls implementation (enabled by default)
  • native-tls native platform tls implementation

Dependencies

~8–20MB
~270K SLoC