使用Python SDK实现将数据写入飞书多维表格

 更新时间:2026年03月05日 09:32:16   作者:GalenZhang888  
这篇文章主要为大家详细介绍了如何通过 Python 代码将文本信息自动保存到指定的飞书多维表格(Base/Bitable)中,主要包含飞书开放平台的配置、表格授权以及环境安装步骤,有需要的小伙伴可以了解下

本文档记录了如何通过 Python 代码将文本信息自动保存到指定的飞书多维表格(Base/Bitable)中。主要包含飞书开放平台的配置、表格授权以及环境安装步骤。

一、 飞书开放平台配置

在使用代码之前,需要先创建一个“机器人”身份并赋予相应权限。

创建应用:登录 飞书开放平台,创建一个企业自建应用。

配置权限:进入应用的“权限管理”页面,搜索并开通以下权限(Scope):

bitable:app (查看、评论、编辑和管理多维表格)

base:record:create (新增记录)

二、 获取多维表格信息

代码中需要定位到具体的表格,需要从浏览器地址栏中获取以下两个 ID。

打开目标多维表格:使用浏览器访问你需要写入数据的表格。

提取 ID:观察浏览器地址栏的 URL,格式通常如下:https://base_url/base/{app_token}?table={table_id}

  • App Token:紧跟在 base/ 后面的那串字符。
  • Table ID:URL 参数中 table= 后面的那串字符。

三、 文档授权(关键步骤)

仅有 API 权限是不够的,还需要将应用“拉入”具体的文档中,否则会报错 Forbidden (91403)

  • 在多维表格页面右上角,点击 “…”(菜单按钮)。
  • 选择 “更多” -> “添加文档应用”
  • 在搜索框中输入你在第一步创建的应用名称
  • 点击添加,并务必勾选 “可编辑” 权限。

四、 安装环境

在本地 Python 环境中安装飞书官方 SDK:

pip install lark-oapi

五、 代码实现

完成以上配置后,将 App TokenTable ID 以及应用的 App IDApp Secret 填入代码即可运行。

import lark_oapi as lark
from lark_oapi.api.bitable.v1 import *

# ================= 配置信息 =================
APP_ID = "cli_xxxx"
APP_SECRET = "2JBE7yyyyyy"
APP_TOKEN = "VvgbbVCOzalrcfsxxxxxxx"
TABLE_ID = "tblMGgT4yyyyyyy"
# ===========================================

def save_to_feishu_sdk(text_content):
    # 1. 构建 Client
    client = lark.Client.builder() \
        .app_id(APP_ID) \
        .app_secret(APP_SECRET) \
        .build()

    # 2. 构造请求对象
    # 注意:fields 中的 key 必须与表格列名一致
    request = CreateAppTableRecordRequest.builder() \
        .app_token(APP_TOKEN) \
        .table_id(TABLE_ID) \
        .request_body(AppTableRecord.builder() \
            .fields({
                "消息内容": text_content
            }) \
            .build()) \
        .build()

    # 3. 发起请求
    response = client.bitable.v1.app_table_record.create(request)

    # 4. 处理结果
    if not response.success():
        print(f"请求失败, code: {response.code}, msg: {response.msg}")
        return

    print(f"保存成功! Record ID: {response.data.record.record_id}")

if __name__ == "__main__":
    save_to_feishu_sdk("内容: 卖出:1000ETF(159629.XSHE:2.512) - 中证2000策略")

使用 requests 库(原生 API)

import requests

# ================= 配置信息 =================
APP_ID = "cli_xxxx"
APP_SECRET = "2JBE7yyyyyy"
APP_TOKEN = "VvgbbVCOzalrcfsxxxxxxx"
TABLE_ID = "tblMGgT4yyyyyyy"
# ===========================================

def get_tenant_access_token(app_id, app_secret):
    """获取访问凭证 (tenant_access_token)"""
    url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"
    headers = {"Content-Type": "application/json; charset=utf-8"}
    payload = {
        "app_id": app_id,
        "app_secret": app_secret
    }
    
    response = requests.post(url, headers=headers, json=payload)
    if response.status_code == 200:
        return response.json().get("tenant_access_token")
    else:
        raise Exception(f"获取 Token 失败: {response.text}")

def add_record(access_token, app_token, table_id, data_fields):
    """向多维表格添加一条记录"""
    url = f"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records"
    
    headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json; charset=utf-8"
    }
    
    # 构建请求体
    payload = {
        "fields": data_fields  # 这里的 keys 必须对应多维表格里的列名
    }
    
    response = requests.post(url, headers=headers, json=payload)
    return response.json()

def save_to_feishu(text_content):
    try:
        # 1. 获取 Token
        token = get_tenant_access_token(APP_ID, APP_SECRET)
        print("Token 获取成功")
        
        # 2. 准备要保存的数据
        # 注意:字典的 Key 必须完全匹配多维表格的【字段名称】
        text_data = {
            "消息内容": text_content
        }
        
        # 3. 写入数据
        result = add_record(token, APP_TOKEN, TABLE_ID, text_data)
        
        if result.get("code") == 0:
            print("数据保存成功!记录ID:", result["data"]["record"]["record_id"])
        else:
            print("保存失败:", result)
            
    except Exception as e:
        print("发生错误:", e)

if __name__ == "__main__":
    save_to_feishu('内容: 卖出:1000ETF(159629.XSHE:2.512) - 中证2000策略')

到此这篇关于使用Python SDK实现将数据写入飞书多维表格的文章就介绍到这了,更多相关Python数据写入飞书多维表格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django之使用celery-把耗时程序放到celery里面执行的方法

    django之使用celery-把耗时程序放到celery里面执行的方法

    今天小编就为大家分享一篇django之使用celery-把耗时程序放到celery里面执行的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 解决python-docx打包之后找不到default.docx的问题

    解决python-docx打包之后找不到default.docx的问题

    今天小编就为大家分享一篇解决python-docx打包之后找不到default.docx的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python读取文本中的坐标方法

    python读取文本中的坐标方法

    今天小编就为大家分享一篇python读取文本中的坐标方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python3.5常见内置方法参数用法实例详解

    Python3.5常见内置方法参数用法实例详解

    这篇文章主要介绍了Python3.5常见内置方法参数用法,结合实例形式详细分析了Python常见的内置方法及参数使用技巧,需要的朋友可以参考下
    2019-04-04
  • Python基于pywinauto实现的自动化采集任务

    Python基于pywinauto实现的自动化采集任务

    这篇文章主要介绍了Python基于pywinauto实现的自动化采集任务,模拟了输入单词, 复制例句, 获取例句, 清空剪切板, 然后重复这个操作,需要的朋友可以参考下
    2023-04-04
  • Python可视化绘制图表的教程详解

    Python可视化绘制图表的教程详解

    python 有许多可视化工具,但本文主要为大家介绍一下Matplotlib。Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,感兴趣的可以了解一下
    2022-10-10
  • Python中的Walrus运算符分析示例详解

    Python中的Walrus运算符分析示例详解

    Python中的Walrus运算符(:=)是Python 3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简洁性,本文给大家介绍Python中的Walrus运算符分析,感兴趣的朋友一起看看吧
    2025-04-04
  • 如何将python脚本打包为exe可执行文件

    如何将python脚本打包为exe可执行文件

    这篇文章主要介绍了如何将python脚本打包为exe可执行文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python使用PIL实现图片的批量格式转换

    Python使用PIL实现图片的批量格式转换

    在日常开发和图像处理工作中,我们经常需要将图片从一种格式转换为另一种格式,本文将基于一个实际的Python脚本示例,介绍如何实现批量图片格式转换,并对比几种常用的图像处理库的优劣势,需要的朋友可以参考下
    2025-09-09
  • Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法

    Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法

    这篇文章主要给大家介绍了关于Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05

最新评论