热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >扣子飞书插件“写入飞书”和“读取飞书”到底怎么用?

扣子飞书插件“写入飞书”和“读取飞书”到底怎么用?

来源:互联网 更新时间:2026-07-20 13:33

飞书插件用得好,自动化办公能省下大把时间。最近搭了一套基于飞书+Coze的作业自动下发系统,里面用了不少飞书插件,踩过坑也摸出了门道。今天就来聊聊,怎么快速拼好飞书插件需要的参数——尤其是写入和读取多维表那两个最常用的场景。

1、写入多维表前的代码处理逻辑

用过这个插件的朋友应该都清楚:写入前基本都要经过代码格式化,否则就是各种报错、死活写不进去。那么,怎样才能更快地生成符合要求的输入呢?

两条路:

一是用大模型,二是写代码。

大模型方式

:其实很简单,按照飞书插件字段要求的样子,拼出一个示例就行。

上图是 add_records 插件的入参部分。可以看到 records 字段要求的格式是 [{}],再瞅一眼官方示例,也是 [{}]。当时不太确定它到底是列表还是数组,但抓住一个关键:上一个节点的输出也必须是这个格式。

看下图,飞书插件上一节点的样式是 Array,说白了也是 [{}],那肯定选它。再对照官方示例,[{}] 里面套着一个 fields,fields 后面还有一层 {},所以输出里再加一层 fields,并选带 {} 的格式。

大模型的提示词怎么写?也盯着官方样例来:

"fields": "{"文本":"文本内容","单选":"选项 1","日期":1674206443000}"

官方样例里 {} 内部的数据格式是 "***":"***",这其实就是键值对——对应到多维表里就是

"列名":"该列的字段值"

。想在哪列插入数据就写哪列,中间用逗号隔开。

(注意:这里特意用了中文列名,说明飞书是支持的,不用非得写英文或拼音。)

接下来给大模型写提示词,把希望输出的样式当成例子扔给它:

    输出整理后的 JSON 格式内容。===回复示例===解析输入参数中的内容并整理成下面的格式,填充后格式如下"fields": {    "userid": "{{sys_uuid}}",    "对话结果":"{{duihua}}",    "用户输入":"{{duyin}}"    }===示例结束===## 限制:- 注意严格按照我给出的格式取值- 只是转化,不得修改内容- 输出内容必须按照文本中解析的结果,不得修改其中的内容,输入几组就展示几组,不能变更和增减,只做转化内容- 输出内容必须严格按照给定的 JSON 格式,不能有任何偏差。

    再说第二种方法:

    写代码

    。不是程序员?没关系,有AI在。大模型的方式学会了,如果不需要提升处理速度,直接用大模型就行。但想要更快的获取结果,就得用代码了。

    先把大模型运行成功的输出复制出来,扔给AI,告诉它“我需要代码”。接下来AI会噼里啪啦输出一堆内容,最后给出代码。这时可能发现它给的代码和“代码插件”中的样式不太一样——那就再说一句话,并把代码插件中的样例扔给它。很快,你需要的代码就来了:

      interface Args {  params: {    sys_uuid: string;    duyin: string;    duihua: string;  };}interface Output {  key0: Array<{    fields: {      "对话结果": string;      userid: string;      "用户输入": string;    };  }>;}async function main({ params }: Args): Promise {  return {    key0: [      {        fields: {          "对话结果": params.duihua,          userid: params.sys_uuid,          "用户输入": params.duyin        }      }    ]  };}
      

      2、读取多维表的代码处理逻辑

      读取和写入正好相反,读取的重点是如何让下游节点更好地使用飞书的数据。

      读取多维表数据主要用到3个参数:

      app_token

      :没什么可说的,官方希望填多维表的唯一索引,但它也支持 url,所以直接写 url 是最方便的。

      field_names

      :把需要查询的内容用 [] 括起来,多个值就用逗号分隔。

      filter

      :重点说说这个字段该怎么写。可以查看飞书开发文档(https://open.feishu.cn/document/home/index),在文档里搜索 search_record。

      filter 包含三个部分:conjunction、conditions、automatic_fields(一般用不到,暂不考虑)。

        {  "conjunction": "and",   #可填 and 或 or;and 表示满足全部条件,or 表示满足任一条件  "conditions": [    {      "field_name": "状态",  #field_name 是多维表里的列名      "operator": "is",     #条件运算符,种类很多,见下图      "value": ["0"]        #条件的值,可以是单个值或多个值的数组    }  ]}
        

        search_record 的输出数据放在 items 里面,包含 fields 和 record_id 两个值。我们只需要 fields 中的内容,所以分两步处理:首先格式化输出,提取出 fields。

        下面这段是通用代码,只要是获取多维表数据并去掉 record_id,都能直接复制使用:

          async function main({ params }: Args): Promise {    // 提取 input 数组中的 fields    const fields = params.input?.map(item => item.fields) || [];    // 构建输出对象,将 fields 数组作为返回值    const ret = {        fields: fields    };    return ret;}
          

          拿到 fields 的值后,你会发现图上显示的内容全写在了一起。接下来这段代码用于把里面的内容拆分出来,也是通用代码:

            async function main({ params }: Args): Promise {    // 1. 解析第一个输入项    const inputItem = params.input?.[0] || "{}";    const parsedData = JSON.parse(inputItem);      // 2. 按内容层级提取text字段    const extractText = (key: string) =>        parsedData[key]?.[0]?.text?.trim() || "";       // 上面不用动,如果输入名称不是input,就改为你自己的输入名称    // 3. 构建结果对象    const resultObject = {      one: extractText("内容1"),     // one 是输出字段名,按需修改;“内容1”就是列名,是什么就写什么      two: extractText("内容2"),     // 如果只有一个值就删掉这行      three: extractText("内容3")    // 同上    };      // 4. 返回结构化结果    return {      animals: [resultObject]       // 返回的列表名称,根据你的输出修改即可    };  }
            

            到此,扣子(Coze)中飞书常用的两个插件就说完了。大家可以动手去试试看。

            关于宇宙的好的网名有哪些
            关于宇宙的好的网名有哪些

            类型:角色扮演

            大小:1

            语言:简体中文

            平台:互联网

            游戏下载

            热门手游

            相关攻略

            手机号码测吉凶
            本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc