mastodon API rust lib elefren, fixed and updated. and also all ASYNC! NB. most examples are now wrong.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aaron Power 87bcc139bb refactor(error): Better errors from the Mastodon API 7 years ago
src refactor(error): Better errors from the Mastodon API 7 years ago
tests Version 0.9, Changed API to use Cow<'static, str> 7 years ago
.env.sample updated reqwest and fixed media route 7 years ago
.gitignore updated reqwest and fixed media route 7 years ago
.travis.yml Added travis 7 years ago
Cargo.toml Version 0.9, Changed API to use Cow<'static, str> 7 years ago
LICENCE-APACHE Initial commit 8 years ago
LICENCE-MIT Initial commit 8 years ago
README.md Update README.md 7 years ago

README.md

Mammut. A API Wrapper for the Mastodon API.

Documentation

A wrapper around the API for Mastodon

extern crate mammut;
use mammut::Registration;
use mammut::apps::{AppBuilder, Scope};

fn main() {
   run().unwrap();
}

fn run() -> mammut::Result<()> {
    let app = AppBuilder {
        client_name: "mammut_test",
        redirect_uris: "urn:ietf:wg:oauth:2.0:oob",
        scopes: Scope::Read,
        website: None,
    };

    let mut registration = Registration::new("https://mastodon.social");
    registration.register(app)?;
    let url = registration.authorise()?;
    // Here you now need to open the url in the browser
    // And handle a the redirect url coming back with the code.
    let code = String::from("RETURNED_FROM_BROWSER");
    let mastodon = registration.create_access_token(code)?;

    println!("{:?}", mastodon.get_home_timeline()?);
    Ok(())
}