访问飞书知识库中的表格(wiki)
评论
收藏

访问飞书知识库中的表格(wiki)

经验分享
K2022
2024-05-18 22:02·浏览量:3820
K2022
发布于 2023-12-26 19:00更新于 2024-05-18 22:023820浏览

参考链接: 飞书开发文档







重点提醒(知识库访问权限要开启):





通过影刀自定义指令中的 ”飞书表格操作“,无法按照操作说明中的通过表格链接中的spreadsheet_token 进行访问飞书自定义指令

因为在知识库中的表格的链接中显示的是node_token而非spreadsheet_token







要访问知识库中的表格需要通过node_token 获取表格的 obj_token 然后使用 obj_token(替换云空间中使用的spreadsheet_token)就可以通过 飞书表格操作的自定义指令获取表格数据







演示:

tenant_access_token(









参数:这里的token 就是 node_token (知识库表格链接中获取: ”wiki/“后面的部分)





应用权限要求







obj_token









代码示例



需要安装 飞书api sdk: lark_oapi



import lark_oapi as lark
from lark_oapi.api.wiki.v2 import *


# SDK 使用说明: https://github.com/larksuite/oapi-sdk-python#readme
# 复制该 Demo 后, 需要将 "APP_ID", "APP_SECRET" 替换为自己应用的 APP_ID, APP_SECRET.
def getsheets_obj_token(APP_ID,APP_SECRET,node_token):
    # 创建client
    client = lark.Client.builder() \
        .app_id(APP_ID) \
        .app_secret(APP_SECRET) \
        .log_level(lark.LogLevel.DEBUG) \
        .build()

    # 构造请求对象
    request: GetNodeSpaceRequest = GetNodeSpaceRequest.builder() \
        .token(node_token) \
        .obj_type("wiki") \
        .build()

    # 发起请求
    response: GetNodeSpaceResponse = client.wiki.v2.space.get_node(request)

    # 处理失败返回
    if not response.success():
        lark.logger.error(
            f"client.wiki.v2.space.get_node failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}")
        return


    #处理成功返回
    # print(response.data.node.obj_token)    
    return response.data.node.obj_token




getsheets_obj_token(APP_ID="应用标识在开发者后台应用管理中获取",APP_SECRET="应用密钥在开发者后台应用管理中获取",node_token=" node_token  (知识库表格链接中获取: ”wiki/“后面的部分)")



也有其他的调用方式,可以在飞书api 调试台中查看





使用obj_token 即可访问飞书知识库中的电子表格















收藏8
全部评论1
最新
发布评论



请输入内容
评论