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=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处即可。
- 宏代码修改的位置需要正确,否则会发消息会出现异常。
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |