摘要

本文详细解析如何利用 Dify 搭建自动化工作流以打通飞书多维表格。内容涵盖飞书侧的“应用权限配置”与“表格字段设置”核心要点,重点拆解 Dify 的三节点设计逻辑:利用 HTTP 节点获取鉴权 Token,引入 Python 代码节点实现 Token 清洗与 JSON 数据安全封装,最后通过 API 写入节点完成数据同步。该方案有效解决了常见的鉴权失效与格式错误问题,为构建个人知识库提供了稳定可靠的自动化路径。

本文创作不易,如有疏漏欢迎指正。
若内容对你有启发,不妨点个 赞 + 收藏,方便以后查阅,也让更多开发者看到~

配置飞书

创建登录后,进入后台管理。点击企业自建应用

image-20251123182450813

这里根据自己情况起名字

image-20251123182538751

添加权限(至关重要)

  • 进入左侧 “权限管理”
  • 搜索并添加这两个权限:
    • bitable:app:read (查看多维表格内容)
    • bitable:app.record:create (在多维表格中新增记录) (或者直接搜索“多维表格”,把相关的读写权限都加上)
  • 点击 “批量开通”

进入左侧 “版本管理与发布” -> 点击 “创建版本” -> 保存 -> “申请发布”(如果是你自己测试的企业,通常会自动通过或管理员点一下就行)。

版本号填1.0.0就行,每次更新,自己填新值

image-20251123182611912

获取 ID 和 Secret

  • 进入左侧 “凭证与基础信息”
  • 复制 App IDApp Secret

最后一步(非常容易忘):在多维表格里添加机器人

  • 打开你的飞书多维表格页面。
  • 点击右上角的 “…” (三个点) -> “更多” -> “添加应用”
  • 搜索你刚才创建的“Dify小助手”并添加。

image-20251123183224365


配置dify

回到 Dify 的工作流编排界面(Workflow):

1.添加“获取 Token”的 HTTP 节点

在你的流程里,先加一个 HTTP 节点,命名为 “获取Token”

  • 请求方法POST

  • URLhttps://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal

  • HEADERS:(保持默认,Content-Type: application/json)

  • BODY:选择 JSON

    JSON

    {
      "app_id": "cli_xxxxxxxx", 
      "app_secret": "xxxxxxxxxxxxxxxxxxxx"
    }
    

    (请将上面的 cli_...secret 换成你刚才在飞书后台复制的)

image-20251123184012975

2.token清洗,输入变量名称用response_body,值用上一步获取的body,输出为clean_token

image-20251123205431542

创建py代码节点,

import json

def main(response_body: str) -> dict:
    # 将字符串类型的 body 解析为 JSON 对象
    data = json.loads(response_body)
    
    # 提取其中的 token 字段
    token = data.get("tenant_access_token")
    
    # 返回干净的 token
    return {
        "clean_token": token
    }
    

3.配置“写入表格”的 HTTP 节点(需谨慎!

image-20251123205850099

在刚才的节点后面,连接你原本的这个节点。

  • URL:需要修改为 API 格式(不能用浏览器链接): https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records

    • 怎么找 {app_token}? 看你的多维表格链接:https://.../base/bascnXXXXXXXXXX?table=tblYYYYYYYY
      • base/ 后面的 bascnXXXXXXXXXX 就是 app_token
    • 怎么找 {table_id}? 链接参数里 table= 后面的 tblYYYYYYYY 就是 table_id
    • 最终 URL 示例https://open.feishu.cn/open-apis/bitable/v1/apps/bascn123456/tables/tbl123456/records
  • HEADERS(鉴权关键)

    • 键:Authorization
    • 值:Bearer {{#你实际的clean_token#}} (注意:Bearer 后面有个空格。变量选择刚才“获取Token”节点的输出结果)
  • BODY

    • 选择 JSON
    • 飞书 API 强制要求数据包在 fields 里面:

    JSON

    {
      "fields": {
        "标题": "{{#变量.title#}}",
        "链接": "{{#变量.url#}}",
        "摘要": "{{#变量.summary#}}"
      }
    }
    

    (注意:这里的 key 必须和你的多维表格表头文字完全一致,比如你的表头叫“标题”,这里就写“标题”)

最注意:如果你的url里wiki而不是base,

官方文档说明:

image-20251123201608473

所以你需要去找base:https://open.feishu.cn/document/server-docs/docs/wiki-v2/space-node/get_node

到此为止就结束啦!

:如果你的url里wiki而不是base,

官方文档说明:

[外链图片转存中…(img-ZMPu8oMV-1763903221769)]

所以你需要去找base:https://open.feishu.cn/document/server-docs/docs/wiki-v2/space-node/get_node

到此为止就结束啦!

本文创作不易,如有疏漏欢迎指正。
若内容对你有启发,不妨点个 赞 + 收藏,方便以后查阅,也让更多开发者看到~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐