部署开发扩展包
钉钉扩展包:dingding_demo.ext
3. 配置钉钉参数
使用钉钉扩展包,需要配置参数: corpid 、 appkey、appsecret、 agentid,最终效果如下:
3.1获取CorpID
每个公司只有一个corpid,获取地址如下,open-dev#index1)创建地址:https://open免密部署流程
3.2获取appkey、appsecret、 agentid
这三个值是对应到每个单独的微应用的,需要先创建微应用,然后再获取这三个值,步骤如下:
1、创建微应用:
注意: 选择微应用中的企业内部应用,而不是E应用。
2)填写基本信息
3)填写详细信息
注意:服务器出口ip是服务器所在网络的公网地址,不是内网地址。
“应用首页链接”有两种写法, 示例如下:
- 打开Smartbi移动端首页:http://demo.smartbi.com.cn/smartbi/vision/dingding/dingding.jsp
- 打开Smartbi 报表资源:http://demo.smartbi.com.cn2)记录CorpId。
3)在应用开发中创建一个企业内部微应用。
4)填写好相应的应用信息。
5)给应用开通相应权限。
6)在基础信息中记住相应的AgentID、AppKey和AppSecret。
7)设置Smartbi的系统选项,将刚刚记录的CorpId、AgentID、AppKey和AppSecret填写在相对应的位置。
8)在Smartbi中新建用户,新建别名与钉钉名称相同的用户,此处填写的是管理者的名字,而不是昵称。
9)配置完成后重启,即可进行利用钉钉进行免密访问smartbi了。
发送企业消息
发送企业消息需要基于 免密部署 的基础上完成的。
1)进入需要利用企业信息监控的报表宏。
2)给报表添加以下宏代码,注意图中提示,修改对应位置的代码,不然发送的消息会出现异常。
代码块 |
---|
/*名称: sendinfotoDD 类型: ClientSide 对象: spreadsheetReport 事件: onRenderReport */ var util = jsloader.resolve('freequery.common.util'); function main(spreadsheetReport) { //封装钉钉企业消息体 var msgContent = {}; //消息接收者在钉钉中点击消息内容,将打开如下链接,完成免登后,打开resid对应的报表。 msgContent.messageUrl = "http://10.10.101.90:8080/smartbi/vision/dingding/ |
ddopenresource.jsp?resid |
2、读取agentid、appkey 、appsecret
1)找到刚才创建的微应用
2)查看微应用详情
3)复制agentid、appkey、appsecret 粘贴到smartbi系统选项里面
4. 配置用户别名
为了将smartbi用户和钉钉用户关联起来,我们需要将用户在钉钉中的姓名复制粘贴到smartbi用户设置的别名中:
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |
=I402882c701552f492f49736e01552f4df2c50013&random=" + Math.random();
//消息标题
msgContent.title = "报表跳转了";
//消息文本
msgContent.text = "报表id是I402882c701552f492f49736e01552f4df2c50013";
//消息图标
msgContent.picUrl = "https://www.baidu.com/img/baidu_jgylogo3.gif";
var msgString = JSON.stringify(msgContent);
//调用后端DDModule. sendLinkCorpConversation()方法,由后端请求钉钉服务器,发送企业消息
util.remoteInvokeEx('DDModule', 'sendLinkCorpConversation', [msgString, ['收件人']]);
} |
3)添加完后即可在打开报表时,在钉钉收到企业信息提示了。
注意事项
- 若是后台提示ip不在白名单内,则将该ip添加到服务器出口IP处即可。
- 宏代码修改的位置需要正确,否则会发消息会出现异常。