Skip to content

飞书管理服务

FeishuManageService主要用于管理飞书用户的AccessToken生命周期,权限等相关信息。

Controller层可以通过飞书管理服务获取AccessToken,用于调用飞书API。

飞书账号绑定

飞书平台账号绑定

在飞书应用开发后台获取应用的AppID与AppSecret(在凭证与基础信息管理页),绑定至TFRobotServer。

飞书用户账号绑定

用户可以不绑定个人账号,在不绑定个人账号时,会默认使用机器人账号,如果App未开通机器人服务,则不使用任何人员信息。仅保持与飞书远程源同步信息。

用户一旦授权某个人账号,则使用此人的远程文档信息,不再使用机器人账号的远程文档。但需要注意,之前同步过的内容仍然会存在于记忆中,如果想移除,需要前往后台手动移除。

飞书用户授权需要提前找到对应的应用,进入 开发配置 > 权限管理 > API 权限 页面。 开通所需的权限,具体操作可参考 申请 API 权限

具体权限列表如下:

"contact:contact.base:readonly", "contact:department.base:readonly", "contact:user.base:readonly", "contact:user.department_path:readonly", "contact:user.employee_id:readonly", "contact:user.employee_number:read", "contact:user.gender:readonly", "contact:user.phone:readonly", "im:chat", "im:chat.access_event.bot_p2p_chat:read", "im:chat.announcement:read", "im:chat.members:bot_access", "im:message", "im:message.p2p_msg:readonly", "im:message:readonly", "docs:doc:readonly", "docs:document.comment:read", "docs:document.content:read", "docs:document.media:download", "docs:document.subscription", "docs:document:export", "docx:document:readonly", "drive:drive", "drive:drive.metadata:readonly", "drive:drive.search:readonly", "drive:drive:readonly", "drive:drive:version:readonly", "drive:export:readonly", "offline_access",

如果需要获取refresh_user_access_token,则需要做如下工作:

如何在获取user_access_token时同步获取refresh_token?

飞书文档授权

问题一:

即使将Drive中的某个文件夹权限授予机器人,机器人在拿到此文件夹/文件的Token后可以通过API访问。但有一个致命的问题是,机器人无法从根目录来List这个文件夹出来。

因此我们开发了用户授权的模式,如果用户授权绑定,则优先使用用户数据。关于这个问题,有给飞书助手提问过,但没有回复,记录如下:

我在使用飞书开放平台的API进行开发,我遇到一个问题,当企业内的用户,将用户的云文档的某个文件夹添加了应用机器人为协作者之后,我是按(https://open.feishu.cn/document/server-docs/docs/drive-v1/faq)这个文档添加的权限。使用应用的tenant_access_token访问List root folder接口无任何数据返回。请问这正常吗? 我的疑问是,如果这是正常的,那应用机器人如何能获取到当前它有权限访问的文件夹与文件列表呢?现在的现状是,我授权完成后,再在浏览器里拿到被授权文件夹或者文档的token,继续访问是正常的,这也表明了权限设置是正常的,但我的问题是我没有一个「根目录」可以去作为应用机器人有权限访问的文件列表的入口,没有这个入口,应用机器人现在对哪些文档有权限都不得而知,更遑论后续操作了。

抱歉,未在知识库中找到您所描述问题的相关答案,无法回答