...
Ps:name属性在飞书中是可重复的,手机号、邮箱、工号是非必填属性,现场可根据实际情况设置,如不需使用自带的用户同步,可忽略;
...
2.
...
3. 应用单点说明
2.3.1.配置应用管理
配置应用管理信息,将应用放到工作台上。
飞书应用管理页面地址如下:
https://ghupecklnh.feishu.cn/admin/appCenter/manage
调整应用分类
配置应用可见范围
配置完成后,即可在桌面版的飞书内看到该应用入口了。
正常完成用户信息同步后,点击即可进入到smartbi首页了。
移动端进入时,会进入到移动端首页。
...
2.
...
4. 用户组织同步
在完成集成配置后,可通过系统功能,新建任务进行信息同步。
...
2.
...
4.1. 配置同步用户组任务
如下步骤,新建任务,并将定制提供的脚本粘贴到代码编辑区。
保存后即可测试运行进行用户组同步。
任务代码如下:
connector.remoteInvoke("FeiShuCommonModule","syncFeiShuGroup",[]); |
...
2.
...
4.2. 配置同步用户任务
按2.2.1的步骤创建定制任务在Smartbi中创建定制任务
宏代码如下
connector.remoteInvoke("FeiShuCommonModule","syncFeiShuUser",[true]); |
...
2.
...
4.3. 执行同步用户组和用户
执行顺序:先执行用户组同步,然后再执行用户,因为在smartbi中,用户是挂靠在用户组下的,如果先执行同步用户,可能该用户的用户组在smartbi中不存在,导致同步异常;:先执行用户组同步,然后再执行用户,因为在Smartbi中,用户是挂靠在用户组下的,如果先执行同步用户,可能该用户的用户组在Smartbi中不存在,导致同步异常;
手动执行: 任务创建完成后,可手动操作上述两个任务的【测试运行】功能即可手动触发数据同步;
自动执行:如需系统定时自动执行,可创建计划绑定上述两个任务,任务顺序按用户组优先;
配置计划绑定任务:
2.4.4.手动同步
可以手工配置用户编辑页面的飞书用户ID保存,保存后该用户即可从飞书单点登录到smartbi;可以手工配置用户编辑页面的飞书用户ID保存,保存后该用户即可从飞书单点登录到Smartbi;
...
2.
...
5. 消息推送
...
2.
...
5.1. 手动推送
配置完飞书权限后,可进到smartbi内,右键要分享的资源(仅支持电子表格,web电子表格,url链接,页面,office分析报告,自主仪表盘资源);可看到【推送到飞书应用】的操作入口。
点击后会弹出推送到飞书应用的提示框
点击【推送人员】后面的操作按钮,会弹窗供选择接收信息的角色,用户组或者用户
标题内容为消息首行加粗的文本信息,必填默认为当前推送报表资源的名称。
描述为推送信息内的文字信息,可为空。
点击图片后的【选择文件】按钮,可选择推送时带上的图片信息。
链接地址,自动生成,不允许修改,正常是读取当前访问smartbi的域名,拼接出带
链接地址,自动生成,不允许修改,正常是读取当前访问Smartbi的域名,拼接出带/vision/feishu/openresource.jsp的链接,并带上当前操作的resid
点击推送时,会弹出推送确认。
点击是时,将会进行推送(推送可能存在延迟),并返回推送结果。
推送成功后,将会在飞书内收到对应的信息。
如应用单点登陆部署正常,推送的链接也是单点登陆的域名,则点击查看详情时,将会免密打开对应的报表。
...
2.
...
5.2. 定时推送普通应用消息
通过任务脚本,定时推送普通的应用消息(带标题、消息内容、报表访问链接)到被推送用户的飞书上;
...
2.
...
5.2.1. 操作步骤
如下步骤,新建任务,并将定制提供的脚本粘贴到代码编辑区。
保存后即可测试运行推送报表到飞书。
...
2.
...
5.2.2. 任务脚本
// 推送资源报表到飞书,目前仅支持电子表格,web电子表格,url链接,页面,office分析报告,自主仪表盘资源 importPackage(Packages.smartbi.sdk.service.systemconfig); /****************** 配置 - 开始******************/ // 必须配置:报表资源ID var reportId = 'I8a8a8d2a018584b084b0fae2018584fde1d200a0'; // 必须配置:推送标题 var title = "消息标题"; // 可选配置:推送消息内容 var desc = "这是一段消息内容"; // 必须配置:接收者在Smartbi的用户,用户组或者角色id; // 若配置的是用户,则type设置为"USER";若配置的是用户组,则type设置为"GROUP";若配置的是角色,则type设置为"ROLE"; // id需要配置对应的用户id,用户组id或者角色id var sendUser = [ {type: "USER", id: "用户ID1"}, {type: "USER", id: "用户ID2"}, {type: "GROUP", id: "用户组ID"}, {type: "ROLE", id: "角色ID"} ]; /****************** 配置 - 结束******************/ var sendUrl = ""; var systemConfigService = new SystemConfigService(connector); var urlConfig = systemConfigService.getSystemConfig("INTEGRATED_APPLICATION_ADDRESS"); if (urlConfig !== null && urlConfig.getLongValue() !== null && urlConfig.getLongValue() !== "") { sendUrl = urlConfig.getLongValue(); if(!sendUrl.endsWith('/')){ sendUrl = sendUrl+'/'; } sendUrl += "vision/feishu/openresource.jsp?feishu=true&sh=false&refresh=true&showtoolbar=false&showPath=false&iPad=true&sendTarget=auto&resid=" + reportId; } var sendSetting = { reportId: reportId, title: title, sendUrl: sendUrl, desc: desc, sendUser: sendUser }; connector.remoteInvoke("FeiShuCommonModule","sendInfoToFeiShu",[JSON.stringify(sendSetting)]); |
...
2.
...
5.2.3. 配置项说明
...
1、报表资源ID:配置需要推送的报表资源的id,配置之后,点击推送消息的“查看详情”可以直接跳转Smartbi,打开对应资源。
获取报表资源id的方式如下,右键点击需要推送的报表资源,点击属性,便可以看到节点id,节点id就是报表资源id:
...
2、推送标题:配置推送此消息时,显示的标题,如截图所示红框部分:
...
3、推送消息内容:配置推送此消息时,显示的消息内容,如截图所示红框部分:
...
4、推送消息接收者,在Smartbi中对应的用户id、用户组id或者角色id:配置消息的接收者,若配置的是用户,则type设置为"USER";若配置的是用户组,则type设置为"GROUP";若配置的是角色,则type设置为"ROLE",id需要配置对应的用户id,用户组id或者角色id,id可通过查询t_user(用户表)、t_group(用户组表)和t_role(角色表)获取。
...
2.
...
5.2.4. 配置相关计划定时推送
打开计划-新建计划,绑定刚刚创建的任务设置定时时间即可;
...
2.
...
5.3. 定时推送电子表格带图的应用消息
通过任务脚本,定时推送带图的应用消息(标题、消息内容、报表导出图片、报表访问链接)到被推送用户的飞书上;
说明:导出的图片按任务任务的执行账号对报表执行导出,如果推送的报表资源对不同用户有不同数据权限,请使用2.4.2的普通应用消息进行推送。
...
2.
...
5.3.1. 操作步骤
如下步骤,新建任务,并将定制提供的脚本粘贴到代码编辑区。
保存后即可测试运行把资源报表导出图片,然后推送图片到飞书。
...
2.
...
5.3.2. 任务脚本
// 把资源报表导出图片,然后推送图片到飞书,目前仅支持电子表格、web电子表格 importPackage(Packages.smartbi.sdk.service.systemconfig); /****************** 配置 - 开始******************/ // 必须配置:电子表格ID var reportId = 'I8a8a8d2a018584b084b0fae2018584fde1d200a0'; // 必须配置:可配置推送标题 var title = "测试电子表格"; // 可选配置:推送消息内容 var desc = "这是一段消息内容"; // 必须配置:接收者在Smartbi的用户,用户组或者角色id。 // 若配置的是用户,则type设置为"USER"; 若配置的是用户组,则type设置为"GROUP"; 若配置的是角色,则type设置为"ROLE" // id需要配置对应的用户id,用户组id或者角色id var sendUser = [ {type: "USER", id: "用户ID1"}, {type: "USER", id: "用户ID2"}, {type: "GROUP", id: "用户组ID"}, {type: "ROLE", id: "角色ID"} ]; // 可选配置:导出电子表格的参数信息--------------------------------------------- // 设置格式:{id:"OutputParameter.数据集ID.参数名称",value:参数真实值,displayValue:参数显示值},参数值可 // 以设置为固定值,变量,或者默认值,默认值写法:"$默认值$",例如如:{id:"OutputParameter.I2c9019810158fc12fc1224c00158fc2e21c50069.测试",value:"$默认值$",displayValue:"$默认值$"} var reportParamSetting = [ //{id:"OutputParameter.I8a8a9be9018671b671b6e610018671d0e80500e8.用户",value:"SCHEDULEADMIN",displayValue:"计划管理员"}//多个参数之间以逗号分隔 ]; /****************** 配置 - 结束******************/ // 以下内容无需配置 var sendUrl = ""; var systemConfigService = new SystemConfigService(connector); var urlConfig = systemConfigService.getSystemConfig("INTEGRATED_APPLICATION_ADDRESS"); if (urlConfig !== null && urlConfig.getLongValue() !== null && urlConfig.getLongValue() !== "") { sendUrl = urlConfig.getLongValue(); if(!sendUrl.endsWith('/')){ sendUrl = sendUrl+'/'; } sendUrl += "vision/feishu/openresource.jsp?feishu=true&sh=false&refresh=true&showtoolbar=false&showPath=false&iPad=true&sendTarget=auto&resid=" + reportId; } var sendPictureSetting = { reportId: reportId, title: title, desc: desc, sendUrl: sendUrl, sendUser: sendUser, reportParamSetting: reportParamSetting }; connector.remoteInvoke("FeiShuCommonModule","sendPictureToFeishu",[JSON.stringify(sendPictureSetting)]); |
...
2.
...
5.3.3. 配置项说明
参考2.2.2,此处仅补充一处2.2.2没有的配置项:
...