1 unstable release
Uses new Rust 2024
new 0.1.1 | Apr 11, 2025 |
---|
#302 in HTTP client
115 downloads per month
33KB
711 lines
larkrs-client
A Rust client library for the Lark (Feishu) API.
Features
- Authentication: Tenant access token management with automatic refresh
- Bitable: Read and write operations for Feishu Bitable
- Bot: Send messages and interact with chats
Installation
Add this to your Cargo.toml
:
[dependencies]
larkrs-client = "0.1.1"
Usage
Authentication
use larkrs_client::auth::FeishuTokenManager;
// Set FEISHU_APP_ID and FEISHU_APP_SECRET environment variables
let token_manager = FeishuTokenManager::new();
let token = token_manager.get_token().await?;
Bitable Operations
use larkrs_client::bitable::table::BitableTableClient;
let client = BitableTableClient::new();
// Get records from a table
let records = client.get_records_list("app_token", "table_id").await?;
// Create records in a table
let records_json = r#"[
{"field1": "value1", "field2": "value2"},
{"field1": "value3", "field2": "value4"}
]"#;
client.batch_create_records_json("app_token", "table_id", records_json).await?;
Bot Operations
use larkrs_client::bot::chat::ChatClient;
let client = ChatClient::new();
// Get list of chats
let chats = client.get_chat_group_list().await?;
// Send a text message
client.send_text_message("chat_id", "Hello from Rust!").await?;
// Send a markdown message
client.send_markdown_message(
"chat_id",
"Title",
"# Heading\n**Bold text**\n- List item 1\n- List item 2"
).await?;
Environment Variables
The library requires the following environment variables:
FEISHU_APP_ID
: Your Feishu application IDFEISHU_APP_SECRET
: Your Feishu application secret
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dependencies
~8–19MB
~242K SLoC