飞书集成网页应用流程详解

4,165 阅读3分钟

这几天需要在飞书集成网页版应用因为流程不熟悉,所以查询完之后特地记录一下,多图预警。 首先集成网页应用需要在飞书开放平台创建一个应用,如图:

image.png 我创建的是一个企业自建应用后面就以此来介绍集成网页应用流程。

1.开发你的网页应用

这里就跟平时写项目一样,可以用react、vue、angular等任意框架来开发你的应用。 主要区别是在首页进行判断是否是在浏览器打开:
如果是则重定向到https://open.feishu.cn/open-apis/authen/v1/user_auth_page_beta?app_id=xxx&locale=zh-CN&redirect_uri=xxx&state=xxx
如果在飞书内则重定向到https://open.feishu.cn/open-apis/authen/v1/index?redirect_uri=xxx&app_id=xxx&state=xxx

2.飞书开放平台的必要配置

第一步,在飞书开放平台进入到你之前创建的应用中。在应用功能->网页菜单下配置桌面端主页和移动端主页,我这里暂时没配置移动端主页。

image.png 第二步,在安全设置菜单下配置重定向URL,这里免登操作会需要。

image.png 第三步,权限管理菜单下,选择需要的权限,这里获取的时飞书账号的相关信息,如:获取用户邮箱信息,获取用户手机号,获取用户user ID。

image.png 第四步,事件订阅菜单下,配置Encrypt Key,这个是可选参数,但是为了安全考虑官方建议还是配置上,还有配置请求网址URL,这里的配置是用来获取飞书用户信息是所需要的token,也是免登的一些必要配置。

image.png

3.免登的开发流程

首先看下免登的大体流程

image.png

我们如果想要支持免登,第一步需要获取授权码code。这里通过如图url,可以飞书扫码,扫码成功后,会重定向到你之前配置的重定向地址,同时授权码code就在url地址中,如:http:xxx?code=123&state=123。

image.png 第二步,获取到授权码code之后,就可以尝试通过code来请求用户身份了,但是这里我们需要的token并没有拿到,所以需要再去拿token。

image.png 第三步,获取app_access_token授权凭证,这里按照应用商店应用来举例。发现需要app ID和app Secret还有app_ticket,但是app_ticket我们目前并没有这个参数,所以转去获取app_ticket。

image.png 第四步,获取应用的app_ticket。需要配置事件订阅地址(上面已经提到在哪里配置),飞书会每隔 1 小时向该地址自动推送app_ticket,应用根据接收到的app_ticket事件来获取app_ticket
第五步,利用之前获取的 App ID、App Secret 和 上一步步获取的 app_ticket 获取 app_access_token。需要的参数都已经全了,按照下图调取api,就可以获取app_access_token。

image.png

第六步,所有参数都已经拿到了,就可以获取用户信息,实现免登。

4.版本发布

等全部配置完成,就可以发布网页应用到飞书了。找到菜单应用发布即可。

image.png