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

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]

pub fn new<I: Into<String>>(base: I) -> Self[src]

Construct a new registration process to the instance of the base url.

use mammut::registration::Registration;

let registration = Registration::new("https://mastodon.social");

pub fn register(&mut self, app_builder: AppBuilder) -> Result<()>[src]

Register the application with the server from the base url.

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

let app = AppBuilder {
    client_name: "mammut_test",
    redirect_uris: "urn:ietf:wg:oauth:2.0:oob",
    scopes: Scopes::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()?.initial_items);

pub fn authorise(&mut self) -> Result<String>[src]

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

pub fn create_access_token(self, code: String) -> Result<Mastodon>[src]

Create an access token from the client id, client secret, and code provided by the authorisation url.

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Err = <U as TryFrom<T>>::Err