LarkClient

Struct LarkClient 

Source
pub struct LarkClient {
Show 16 fields pub config: Config, pub auth: AuthenService, pub contact: ContactService, pub group: GroupService, pub im: ImService, pub search: SearchService, pub cloud_docs: CloudDocsService, pub assistant: AssistantService, pub docs: DocsService, pub drive: DriveService, pub sheets: SheetsService, pub bitable: BitableService, pub wiki: WikiService, pub comments: CommentsService, pub permission: PermissionService, pub board: BoardService, /* private fields */
}
Expand description

飞书开放平台SDK主客户端

提供对所有飞书开放平台API的统一访问接口。支持自建应用和商店应用两种类型, 自动处理认证、令牌管理、请求重试等核心功能。

§主要功能

  • 🔐 自动令牌管理和刷新
  • 🚀 支持所有飞书开放平台API
  • 🔄 内置请求重试机制
  • 📡 WebSocket长连接支持(需开启websocket特性)
  • 🎯 类型安全的API调用

§快速开始

use open_lark::prelude::*;

// 创建自建应用客户端
let client = LarkClient::builder("your_app_id", "your_app_secret")
    .with_app_type(AppType::SelfBuild)
    .with_enable_token_cache(true)
    .build();

// 发送文本消息
let message = CreateMessageRequestBody::builder()
    .receive_id("ou_xxx")
    .msg_type("text")
    .content("{\"text\":\"Hello from Rust!\"}")
    .build();

let request = CreateMessageRequest::builder()
    .receive_id_type("open_id")
    .request_body(message)
    .build();

// let result = client.im.message.create(request, None).await?;

§服务模块

客户端包含以下主要服务模块:

  • im: 即时消息
  • drive: 云盘文件
  • sheets: 电子表格
  • calendar: 日历
  • contact: 通讯录
  • hire: 招聘
  • 更多服务请参考各字段文档

Fields§

§config: Config§auth: AuthenService§contact: ContactService§group: GroupService§im: ImService§search: SearchService§cloud_docs: CloudDocsService§assistant: AssistantService§docs: DocsService§drive: DriveService§sheets: SheetsService§bitable: BitableService§wiki: WikiService§comments: CommentsService§permission: PermissionService§board: BoardService

Implementations§

Source§

impl LarkClient

Source

pub fn builder(app_id: &str, app_secret: &str) -> LarkClientBuilder

创建客户端构建器

§参数
  • app_id: 应用ID,从飞书开放平台获取
  • app_secret: 应用密钥,从飞书开放平台获取
§示例
use open_lark::prelude::*;

let client = LarkClient::builder("cli_xxx", "xxx")
    .with_app_type(AppType::SelfBuild)
    .build();

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> 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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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,