Skip to content

Dragon-GCS/AutoFeishu

Repository files navigation

AutoFeishu

飞书官方接口的Python封装, 需要自行注册飞书应用

参数配置

本项目使用pydantic_settings读取参数,有多种方法用于设置参数。优先级顺序如下:

  • 代码中设置

    from feishu import config
    config.api_key = 'xxx'
    config.api_secret = 'xx'
  • 环境变量(case-insensitive): 所有相关环境变量以FEISHU_开头,例如FEISHU_API_KEY, FEISHU_API_SECRET

  • .feishu.env, .env文件(case-insensitive)

  • pyproject.toml文件(case-sensitive)

    [tool.auto-feishu]
    api_key = "xxx"
    api_secret = "xxx"
    ...

配置内容

  • api_key: 飞书应用的App ID
  • api_secret: 飞书应用的App Secret
  • base_url: 飞书API的base url,默认https://open.feishu.cn/open-apis
  • phone, email, open_id: 用于Contact获取默认的用户信息

TODO: 文档https://mkdocstrings.github.io/usage/

当前接口

  • Approval: 创建、同意、拒绝审批,获取审批详情
  • Contact: 根据手机号或邮箱获取open_id
  • Message: 向指定联系人或群发送文本、文件、图片、卡片
  • SpreadSheet: 读写多维表格
  • Group: 群组管理

新增接口开发

继承feishu.client.BaseClient

  • AuthClient封装了get, post, put, _request等方法,可以自动鉴权发送HTTP请求。
  • AuthClient包含一个使用默认app_idapp_secretdefault_client, 可以在classmethod中使用
  • feishu.client.Cache是一个自动区分当前app的描述器,可以用来缓存数据。样例参见feishu.contact.Contact
  • 属性api用于保存各个api的别名和url: {name: /api, ...}

About

Automation tools for feishu

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages