Struct mammut::registration::Registration [] [src]

pub struct Registration { /* fields omitted */ }

Handles registering your mastodon app to your instance. It is recommended you cache your data struct to avoid registering on every run.

Methods

impl Registration
[src]

Register the application with the server from the base url.

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

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()?);

Returns the full url needed for authorisation. This needs to be opened in a browser.