pub struct DriveHub<C> {
pub client: Client<C>,
pub auth: Box<dyn GetToken>,
/* private fields */
}
Expand description
Central instance to access all DriveHub related resource activities
§Examples
Instantiate a new hub
extern crate hyper;
extern crate hyper_rustls;
extern crate google_drive2 as drive2;
use drive2::api::File;
use drive2::{Result, Error};
use drive2::{DriveHub, FieldMask, hyper_rustls, hyper_util, yup_oauth2};
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
// `client_secret`, among other things.
let secret: yup_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 = yup_oauth2::InstalledFlowAuthenticator::builder(
secret,
yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let client = hyper_util::client::legacy::Client::builder(
hyper_util::rt::TokioExecutor::new()
)
.build(
hyper_rustls::HttpsConnectorBuilder::new()
.with_native_roots()
.unwrap()
.https_or_http()
.enable_http1()
.build()
);
let mut hub = DriveHub::new(client, 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 = File::default();
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.files().patch(req, "fileId")
.use_content_as_indexable_text(false)
.update_viewed_date(false)
.timed_text_track_name("duo")
.timed_text_language("vero")
.supports_team_drives(false)
.supports_all_drives(false)
.set_modified_date(true)
.remove_parents("vero")
.pinned(true)
.ocr_language("Lorem")
.ocr(true)
.new_revision(false)
.modified_date_behavior("accusam")
.include_permissions_for_view("takimata")
.include_labels("consetetur")
.enforce_single_parent(false)
.convert(false)
.add_parents("amet.")
.doit().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<C>
§auth: Box<dyn GetToken>
Implementations§
Source§impl<'a, C> DriveHub<C>
impl<'a, C> DriveHub<C>
pub fn new<A: 'static + GetToken>(client: Client<C>, auth: A) -> DriveHub<C>
pub fn about(&'a self) -> AboutMethods<'a, C>
pub fn apps(&'a self) -> AppMethods<'a, C>
pub fn changes(&'a self) -> ChangeMethods<'a, C>
pub fn channels(&'a self) -> ChannelMethods<'a, C>
pub fn children(&'a self) -> ChildMethods<'a, C>
pub fn comments(&'a self) -> CommentMethods<'a, C>
pub fn drives(&'a self) -> DriveMethods<'a, C>
pub fn files(&'a self) -> FileMethods<'a, C>
pub fn parents(&'a self) -> ParentMethods<'a, C>
pub fn permissions(&'a self) -> PermissionMethods<'a, C>
pub fn properties(&'a self) -> PropertyMethods<'a, C>
pub fn replies(&'a self) -> ReplyMethods<'a, C>
pub fn revisions(&'a self) -> RevisionMethods<'a, C>
pub fn teamdrives(&'a self) -> TeamdriveMethods<'a, C>
Sourcepub fn user_agent(&mut self, agent_name: String) -> String
pub fn user_agent(&mut self, agent_name: String) -> String
Set the user-agent header field to use in all requests to the server.
It defaults to google-api-rust-client/6.0.0
.
Returns the previously set user-agent.
Trait Implementations§
Auto Trait Implementations§
impl<C> Freeze for DriveHub<C>where
C: Freeze,
impl<C> !RefUnwindSafe for DriveHub<C>
impl<C> Send for DriveHub<C>where
C: Send,
impl<C> Sync for DriveHub<C>where
C: Sync,
impl<C> Unpin for DriveHub<C>where
C: Unpin,
impl<C> !UnwindSafe for DriveHub<C>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more