参考链接: 飞书开发文档
重点提醒(知识库访问权限要开启):
通过影刀自定义指令中的 ”飞书表格操作“,无法按照操作说明中的通过表格链接中的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 即可访问飞书知识库中的电子表格