常见问题
能通过tenant_access_token访问整个租户的所有数据吗?
不能。
tenant_access_token对应的是应用身份。对于飞书任务系统的鉴权模块来说,它的身份和普通的用户身份没有区别。你可以将其理解为一个特殊的用户。
换句话说,tenant_access_token没有任何特权,不能访问其他普通用户或者其他应用的任务数据,更不能作为“租户管理员”角色来使用。
如何对租户内的任务数据进行统计?
飞书任务中没有”租户管理员“的角色,因为无法直接支持统计整个租户的所有数据。同时我们也不建议开发此类功能直接支持,因为飞书中既有工作相关的任务,也有个人的任务(记录在企业的租户里)。对租户所有任务数据做统计会带来数据访问量的问题,也很难直接提高企业任务的响应速度,完成率和准时率的大目标。
我们建议使用清单来维护和管理任务。过程如下:
- 通过飞书任务界面针对一些工作内容建立若干清单。每个清单加入参与该项工作的所有员工作为协作成员。
- 由清单所有者或协作成员手工创建要做的任务,并填写必要的描述,截止时间等信息。
- 使用添加清单成员接口将这个应用加入到清单协作成员中。如果仅仅用于统计,只需要“可阅读”角色即可(详见下文"应用可以成为任务/清单的成员吗?)。
- 使用该应用编写一段程序定期运行,调用获取清单任务列表接口获取清单的摘要信息,根据任务是否完成,是否逾期等来做统计数据。
但要注意,清单并非是为容纳海量任务而设计的。如果对包含上万个任务的清单调用获取任务接口可能会导致超时,被流控或者其他服务器错误。因此建议根据需要创建多个清单,每个清单中容纳适当数量的任务。这样也便于员工的实际使用。
应用可以成为任务/清单的成员吗?
是可以的。
无论是一个普通用户还是应用在任务系统内部都被视作“用户”,没有差别。因此可以将一个应用设置为任务的关注人或者清单的协作成员。具体做法是,在添加任务成员接口/添加清单成员接口设置成员时,设置一个应用的成员。例如下面的代码将一个应用添加为清单的可阅读协作成员。
POST /task/v2/tasklists/:tasklist_guid/add_members
{
"members": [
{
"id": "cli_a2ee5b213cf8912b",
"type": "app",
"role": "viewer"
}
]
}这种用法通常用于自动化的场景,比如可以通过飞书任务界面创建一个清单,让团队成员在清单中录入任务,并通过任务备注/评论的手段更新任务的执行状态,最终完成任务。此时,就可以在清单中加入一个应用作为可阅读协作成员。该应用就可以通过tenant_access_token调用列取清单任务列表接口和获取任务详情接口来定期统计清单的整体进展,将统计结果以消息卡片的形式发送给清单负责人或者同步给第三方系统。
如果不将应用加入到清单协作成员,应用就没有权限访问清单和清单中的任务数据。
在飞书界面中如何获取任务的GUID?
开发者可能需要对一个飞书任务界面中的任务进行操作(如编辑标题,删除等)。要进行操作的前提是获取任务GUID。
可以进入任务的详情页,点击分享,进入“任务链接”界面,可以看到任务的分享链接。链接中guid=后面的长度为36的字符串即为任务的guid。
| 1)点击任务详情的“分享” | 2)查看任务的分享链接 |
|---|---|
![]() | ![]() |
上图中任务的GUID就是07df1984-e38d-4710-90e6-493a2412dcfe。
在飞书界面中如何获取清单的GUID?
开发者可能需要对一个飞书任务界面中的清单进行操作(如修改名字,添加协作成员等)。要进行操作的前提是获取清单GUID。
可以进入清单的界面,点击分享。
| 1)点击清单界面的“分享” | 2)点击复制链接 | 3)然后粘贴到文本编辑器里 |
|---|---|---|
![]() | ![]() | ![]() |
得到的链接中guid=后面的长度为36的字符串即为清单的guid。
上图中清单的GUID就是3606cb71-a942-4098-b7a0-c59869d5144d。
可以对有多个负责人的任务实现个人完成而非整体完成吗?
目前不支持,但在规划中。





