玩转飞书项目插件开发之一---原理介绍

1,053 阅读4分钟

概述

飞书项目作为一款优秀的项目管理系统,在提供丰富的产品之外,还提供了完备的开放能力,通过开放能力与外部系统进行有效的集成,进行数据的相互传输,插件正是基于这种开放能力,来满足各种各样的场景。

调用关系图

插件作为飞书项目与外部系统之间数据的传输桥梁,其作用如何,一图以蔽之,正如下图所示,能够清晰的展示数据流向。

image.png 从上图可以清晰的看到,飞书项目插件作为一个独立的服务连接飞书项目和第三方系统,通过http请求的方式来进行双方数据的交互。

创建一个插件

进入到飞书项目的开发者后台(将鼠标移至页面左下角的个人头像),选择“添加插件”,填写插件名称和插件图标,然后确定,就会进入到插件的详情页面,在此可以对插件进行详细编辑。

image.png

基本信息

在基本信息Tab中,可以看到插件的Plugid ID和Plugin Secret,该ID和Secret是用来标识插件的,在调用OpenAPI的时候需要传入这两个值,这样开放平台就会知道是哪个插件再调用哪种开放能力。

协作人部分可以添加协作人,该协作人就可以进入到插件后台,具备该插件的后台编辑能力。

插件功能

在插件功能Tab中,可以添加各种构成,所谓的构成,可以简单理解为插件的点位,就是在什么地方以何种形式将该插件暴露出来。例如比较常见的如内嵌页面、视图、详情页Tab、按钮等。

image.png 如果想要该插件有一个插件的使用配置后台,那就要选择“插件配置页 Config”。

如果想要该插件有一个拦截功能,比如测试覆盖率达不到某个阈值,不允许流转状态,则要选择“拦截事件 Interception”。

权限管理

权限管理,是通过设置的方式,给该插件赋予某种开放能力的使用权限,例如,想要查询工作项实例详情信息,那么就要申请“获取工作项基础信息”的权限。需要注意的是,新申请的权限需要经过发版才可以被使用,空间中的插件需要升级才可以使用插件的新具备能力。

image.png 飞书项目对系统中的数据提供了严格的权限控制,插件要想获取相关数据,必须经过以下权限校验

  1. 插件认证权限;
  2. 相关API的读取权限;
  3. 操作人对于数据的读取权限; 在遇到相关权限问题时,可以按照上述列表进行逐一排查。

插件发布

插件在经过一系列的编辑之后,就可以进行发布,供外部使用了。 image.png 版本号和描述信息根据需要进行填写即可。 产物版本是如果该插件有涉及到前端的内容,并且前端也经过开发打包上传至开放平台,在此处选择打包的版本即可。

插件使用范围可以分为“企业内使用”和“共享至插件市场”。企业内使用,是指该该插件只能在当前企业租户内使用,在当前企业内页可以指定某些空间可见,这样就可以对某些空间进行灰度测试,测试通过之后可以全面放开使用。共享至插件市场,是指该插件可以被其他租户使用。

至此,你已经成功构建一个插件了。

插件的使用

用户在构建完插件,编写业务逻辑,将插件上传发布之后,在对应的空间中安装后即可使用该插件。

插件更新

插件在迭代过程中,如需要新增加权限,点位等信息,一定要发布之后才可生效,对应的空间一定要更新版本之后才可使用到最新的能力。