目录
前言
企业微信官方的客户端API接口文档写得不太清晰,自己查阅资料,参考官方文档,历时一天,终于成功了。
后端Signature签名生成,前端UNI-APP调用企业微信客户端接口方法。
一、设置应用可信域名
所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),且可信域名必须有ICP备案且在管理端验证域名归属。
验证域名归属的方法在企业微信的管理后台“我的应用”里,进入应用,设置应用可信域名。企业微信申请域名验证
eg: 将WW_verify_gPO4DZteSvyQZNRk.txt文件放到IIS文件夹底下

二、引入js
代码如下(示例):调用 wx.agentConfig需要引入 jwxwork sdk
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript"></script>
三、注入应用的权限
代码如下(示例):
前提:
- 企业微信的corpid
- 企业微信的应用id
- 企业微信的secret
signature获取:
corpid + secret --> access_token --> ticket --> 拼接参数加密
JS-SDK使用权限签名算法
wx.agentConfig({
corpid: '', // 必填,企业微信的corpid,必须与当前登录的企业一致
agentid: '', // 必填,企业微信的应用id (e.g. 1000247)
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList: ['selectExternalContact'], //必填,传入需要使用的接口名称
success: function(res) {
// 回调
},
fail: function(res) {
if(res.errMsg.indexOf('function not exist') > -1){
alert('版本过低请升级')
}
}
});
四、调用打开会话接口
注入应用权限之后就可以测试接口了,打开浏览器调试报错: Uncaught TypeError: wx.agentConfig is not a function
只能发布,然后通过企业微信打开URL才能测试接口
wx.openEnterpriseChat({
// 注意:userIds和externalUserIds至少选填一个。内部群最多2000人;外部群最多500人;如果有微信联系人,最多40人
userIds: 'zhangsan;lisi;wangwu', //参与会话的企业成员列表,格式为userid1;userid2;...,用分号隔开。
externalUserIds: 'wmEAlECwAAHrbWYDOK5u3Bf13xlYDAAA;wmEAlECwAAHibWYDOK5u3Af13xlYDAAA', // 参与会话的外部联系人列表,格式为userId1;userId2;…,用分号隔开。
groupName: '讨论组', // 会话名称。单聊时该参数传入空字符串""即可。
chatId: "CHATID", // 若要打开已有会话,需指定此参数。如果是新建会话,chatId必须为空串
success: function(res) {
var chatId = res.chatId; //返回当前群聊ID,仅当使用agentConfig注入该接口权限时才返回chatId
// 回调
},
fail: function(res) {
if(res.errMsg.indexOf('function not exist') > -1){
alert('版本过低请升级')
}
}
});

本文详细介绍了如何在前端uni-app中调用企业微信客户端API,包括设置应用可信域名、引入js、注入应用权限及调用打开会话接口的步骤。遇到的挑战主要是官方文档不清晰,但经过研究最终成功实现。
2427

被折叠的 条评论
为什么被折叠?



