Add your description here
Project description
DingTalk Client Rick
一个基于 Python 的钉钉开放平台 API 客户端,封装了常用的功能模块,支持自动 Token 管理、消息发送、多维表格操作以及文件上传等功能。
功能特性
- 自动鉴权:内置 Token 缓存与自动刷新机制,无需手动管理 Access Token。
- 用户管理:支持用户搜索、详情查询及 UnionID 获取。
- 消息推送:封装了机器人单聊消息发送(支持文本、Markdown 格式)。
- 多维表格:提供对钉钉多维表格(Aitable)的完整操作支持(增删改查)。
- 文件上传:支持小文件直传和大文件分片上传,自动识别媒体类型。
安装说明
本项目使用 uv 进行依赖管理。
# 克隆项目
git clone <repository_url>
cd dingtalk_client_rick
# 安装依赖
uv sync
配置指南
在项目根目录下创建 .env 文件,并配置你的钉钉应用凭证:
AppKey=你的AppKey
AppSecret=你的AppSecret
使用示例
1. 初始化客户端
from dingtalk_client_rick.base import DingTalk
# 方式一:自动读取环境变量中的 AppKey 和 AppSecret
client = DingTalk()
# 方式二:手动传入凭证
client = DingTalk(app_key="your_key", app_secret="your_secret")
2. 用户管理
from dingtalk_client_rick.user import User
user_client = User()
# 搜索用户
users = user_client.get_user_info("张三")
# 获取用户详情及 UnionID
user_info = user_client.get_union_id("张三")
print(f"User UnionID: {user_info.get('unionid')}")
3. 多维表格操作
from dingtalk_client_rick.table import AiRecord
# 初始化记录操作客户端
record_client = AiRecord(
sheetIdOrName="你的工作表名称或ID",
baseId="你的应用BaseID",
unionId="操作人的UnionID"
)
# 获取记录详情
detail = record_client.detail(recordId="记录ID")
# 更新记录
record_client.update([
{
"id": "记录ID",
"fields": {
"字段名": "新值",
"状态": "已完成"
}
}
])
4. 文件上传
from dingtalk_client_rick.uploadfile import AiUploadFile
# 初始化上传客户端
uploader = AiUploadFile(
docId="你的文档/BaseID",
unionId="操作人的UnionID"
)
# 上传文件
file_path = "/path/to/your/image.jpg"
result = uploader.upload_file_complete(file_path)
if result["status"] == "success":
print(f"上传成功,资源链接: {result['url']}")
5. 发送消息
from dingtalk_client_rick.bot import Bot
from dingtalk_client_rick.message import TextMessage
bot = Bot()
# 发送文本消息
msg = TextMessage(content="你好,这是来自 Python 客户端的消息")
bot.send_text_message(userids=["用户ID列表"], message=msg)
依赖列表
- python >= 3.13
- requests
- python-dotenv
- cachetools
- jsonpath-ng
- tqdm
许可证
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dingtalk_client_rick-0.1.0.tar.gz.
File metadata
- Download URL: dingtalk_client_rick-0.1.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4102035deb839bf605fcac475d355f8dfba37250a96599ea0d80ecc40c5bc3a1
|
|
| MD5 |
11562038710f50d51ff411e5d36f4846
|
|
| BLAKE2b-256 |
c3203846cab92f7796362d0613d848ec3295ca30ceca8390c48e6a7ebc2c0628
|
File details
Details for the file dingtalk_client_rick-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dingtalk_client_rick-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbf8524b850e4dc03580f61ee9d462e86e6653aef55a012645b5eb25352c39fe
|
|
| MD5 |
18dfae503282f113f56c249fd77ffeb8
|
|
| BLAKE2b-256 |
510b4e1fcd44687c3476accdc8750b288d6f3505172e55fe1ef7009fd7e47688
|