Struct google_gmail1::api::Gmail [−][src]
pub struct Gmail {
pub client: Client<HttpsConnector<HttpConnector>, Body>,
pub auth: Authenticator<HttpsConnector<HttpConnector>>,
// some fields omitted
}
Expand description
Central instance to access all Gmail related resource activities
Examples
Instantiate a new hub
extern crate hyper;
extern crate hyper_rustls;
extern crate google_gmail1 as gmail1;
use gmail1::api::Message;
use gmail1::{Result, Error};
use std::fs;
use std::default::Default;
use gmail1::{Gmail, oauth2};
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
// `client_secret`, among other things.
let secret: oauth2::ApplicationSecret = Default::default();
// Instantiate the authenticator. It will choose a suitable authentication flow for you,
// unless you replace `None` with the desired Flow.
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
// retrieve them from storage.
let auth = oauth2::InstalledFlowAuthenticator::builder(
secret,
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let mut hub = Gmail::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()), auth);
// As the method needs a request, you would usually fill it with the desired information
// into the respective structure. Some of the parts shown here might not be applicable !
// Values shown here are possibly random and not representative !
let mut req = Message::default();
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `upload_resumable(...)`.
// Values shown here are possibly random and not representative !
let result = hub.users().messages_import(req, "userId")
.process_for_calendar(true)
.never_mark_spam(false)
.internal_date_source("amet")
.deleted(true)
.upload_resumable(fs::File::open("file.ext").unwrap(), "application/octet-stream".parse().unwrap()).await;
match result {
Err(e) => match e {
// The Error enum provides details about what exactly happened.
// You can also just use its `Debug`, `Display` or `Error` traits
Error::HttpError(_)
|Error::Io(_)
|Error::MissingAPIKey
|Error::MissingToken(_)
|Error::Cancelled
|Error::UploadSizeLimitExceeded(_, _)
|Error::Failure(_)
|Error::BadRequest(_)
|Error::FieldClash(_)
|Error::JsonDecodeError(_, _) => println!("{}", e),
},
Ok(res) => println!("Success: {:?}", res),
}
Fields
client: Client<HttpsConnector<HttpConnector>, Body>
auth: Authenticator<HttpsConnector<HttpConnector>>
Implementations
pub fn new(
client: Client<HttpsConnector<HttpConnector>, Body>,
authenticator: Authenticator<HttpsConnector<HttpConnector>>
) -> Gmail
Set the user-agent header field to use in all requests to the server.
It defaults to google-api-rust-client/2.0.9
.
Returns the previously set user-agent.
Set the base url to use in all requests to the server.
It defaults to https://gmail.googleapis.com/
.
Returns the previously set base url.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Gmail
impl !UnwindSafe for Gmail
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more