Struct DingTalk

Source
pub struct DingTalk {
    pub appid: String,
    pub app_secret: String,
    pub client: Client,
    pub rdb: Arc<Pool>,
}

Fields§

§appid: String§app_secret: String§client: Client§rdb: Arc<Pool>

Implementations§

Source§

impl DingTalk

Source

pub async fn get_contact_userinfo( &self, union_id: String, ) -> Result<UserInfo, Box<dyn Error>>

Get the user info of the given union ID.

Documents

§Arguments
  • union_id - The union ID of the DingTalk user.
§Returns

A Result containing the user info if successful, otherwise an error string.

Source§

impl DingTalk

Source

pub fn get_redirect_url( &self, redirect_uri: String, state: Option<String>, ) -> String

Generate the redirect URL for DingTalk authorization.

Documents

§Arguments
  • redirect_uri - The redirect URI after authorization.
  • state - An optional state string, which is used to prevent CSRF attacks.
§Returns

The redirect URL as a string.

Source

pub async fn set_app_access_token( &self, code: String, ) -> Result<String, Box<dyn Error>>

Obtain the access token for the application.

This asynchronous function sends a POST request to the DingTalk API to obtain the access token for the application. The request includes the authorization code in the query parameters for authentication.

Documents

§Arguments
  • code - The authorization code to obtain the access token.
§Returns

Returns a Result containing the access token as a string if the request is successful, or an error if the request fails or if the response status is not successful.

§Errors

Returns an error if the response status is not successful, or if the request fails.

Source

pub async fn get_app_access_token(&self) -> Result<String, Box<dyn Error>>

Get the access token for the application.

The access token is stored in Redis by calling [set_app_access_token].

§Returns

A Result containing the access token as a string if the access token exists, otherwise an error string.

Source§

impl DingTalk

Source

pub fn set_corp_id(&self, corp_id: String) -> OrgApp

Creates a new OrgApp instance with the given corporate ID and configuration.

This method creates a new instance of OrgApp with the given corporate ID and the same configuration as the current DingTalk instance. This is useful for accessing the DingTalk API of a specific organization.

§Arguments
  • corp_id - The corporate ID of the organization to create the OrgApp for.
§Returns

A new OrgApp instance with the given corporate ID and configuration.

Source§

impl DingTalk

Source

pub fn new(appid: String, app_secret: String) -> Self

Creates a new instance of DingTalk.

§Arguments
  • appid - The app ID issued by DingTalk.
  • app_secret - The app secret issued by DingTalk.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,