pub struct Client { /* private fields */ }
Expand description
Entrypoint for interacting with the API client.
Implementations§
Source§impl Client
impl Client
Sourcepub fn new<I, K, R, T, Q>(
client_id: I,
client_secret: K,
redirect_uri: R,
token: T,
refresh_token: Q,
) -> Self
pub fn new<I, K, R, T, Q>( client_id: I, client_secret: K, redirect_uri: R, token: T, refresh_token: Q, ) -> Self
Create a new Client struct. Requires OAuth2 configuration values as well as an access and refresh token.
§Panics
This function will panic if the internal http client fails to create
Sourcepub fn set_auto_access_token_refresh(&mut self, enabled: bool) -> &mut Self
pub fn set_auto_access_token_refresh(&mut self, enabled: bool) -> &mut Self
Enables or disables the automatic refreshing of access tokens upon expiration
Sourcepub async fn set_expires_at(&self, expires_at: Option<Instant>) -> &Self
pub async fn set_expires_at(&self, expires_at: Option<Instant>) -> &Self
Sets a specific Instant
at which the access token should be considered expired.
The expiration value will only be used when automatic access token refreshing is
also enabled. None
may be passed in if the expiration is unknown. In this case
automatic refreshes will be attempted when encountering an UNAUTHENTICATED status
code on a response.
Sourcepub async fn expires_at(&self) -> Option<Instant>
pub async fn expires_at(&self) -> Option<Instant>
Gets the Instant
at which the access token used by this client is set to expire
if one is known
Sourcepub async fn set_expires_in(&self, expires_in: i64) -> &Self
pub async fn set_expires_in(&self, expires_in: i64) -> &Self
Sets the number of seconds in which the current access token should be considered expired
Sourcepub async fn expires_in(&self) -> Option<Duration>
pub async fn expires_in(&self) -> Option<Duration>
Gets the number of seconds from now in which the current access token will be considered expired if one is known
Sourcepub async fn is_expired(&self) -> Option<bool>
pub async fn is_expired(&self) -> Option<bool>
Determines if the access token currently stored in the client is expired. If the expiration can not be determined, None is returned
Sourcepub fn with_host_override<H>(&mut self, host: H) -> &mut Selfwhere
H: ToString,
pub fn with_host_override<H>(&mut self, host: H) -> &mut Selfwhere
H: ToString,
Override the host for all endpoins in the client.
Sourcepub fn remove_host_override(&mut self) -> &mut Self
pub fn remove_host_override(&mut self) -> &mut Self
Disables the global host override for the client.
pub fn get_host_override(&self) -> Option<&str>
Sourcepub async fn new_from_env<T, R>(token: T, refresh_token: R) -> Self
pub async fn new_from_env<T, R>(token: T, refresh_token: R) -> Self
Create a new Client struct from environment variables. Requires an existing access and refresh token
The following environment variables are expected to be set:
GOOGLE_KEY_ENCODED
- A base64 encoded version of JSON formatted application secret
§Panics
This function will panic if an application secret can not be parsed from the encoded key
This function will panic if the internal http client fails to create
Sourcepub fn user_consent_url(&self, scopes: &[String]) -> String
pub fn user_consent_url(&self, scopes: &[String]) -> String
Return a user consent url with an optional set of scopes. If no scopes are provided, they will not be passed in the url.
Sourcepub async fn refresh_access_token(&self) -> Result<AccessToken, ClientError>
pub async fn refresh_access_token(&self) -> Result<AccessToken, ClientError>
Refresh an access token from a refresh token. Client must have a refresh token for this to work.
Sourcepub async fn get_access_token(
&mut self,
code: &str,
state: &str,
) -> Result<AccessToken, ClientError>
pub async fn get_access_token( &mut self, code: &str, state: &str, ) -> Result<AccessToken, ClientError>
Get an access token from the code returned by the URL paramter sent to the redirect URL.
Sourcepub fn spreadsheets(&self) -> Spreadsheets
pub fn spreadsheets(&self) -> Spreadsheets
Return a reference to an interface that provides access to spreadsheets operations.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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
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>
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>
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