agentConfig验证成功之后调用获取外部联系人的getCurExternalContac接口
jsApiList: ['getContext', 'getCurExternalContact'], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
success: function (res) {
console.log('🚀 ~ file: Vippic.vue ~ line 165 ~ res', sha1(str));
wx.invoke('getContext', {}, function (res) {
console.log('🚀 ~ file: Vippic.vue ~ line 165 ~ res', res);
if (res.err_msg == 'getContext:ok') {
entry = res.entry; //返回进入H5页面的入口类型,目前有normal、contact_profile、single_chat_tools、group_chat_tools、chat_attachment
// shareTicket = res.shareTicket; //可用于调用getShareInfo接口 一般用不到
console.log('错误处理',entry);
wx.invoke('getCurExternalContact', {}, function (res) {
if (res.err_msg == 'getCurExternalContact:ok') {
userId = res.userId; //返回当前外部联系人userId
console.log('获取到userId', userId);
// 获取到userId 调用后台接口 获取用户详情信息
// 调用接口获取当前外部联系人详细信息(在后台获取):
//qyapi.weixin.qq.com/cgi-bin/externalcontact/get 参数:access_token external_userid
https: alert(res.userId);
} else {
// console.log('错误处理', res); //错误处理
}
});
wx.invoke is not a function 并且 'getContext', 'getCurExternalContact'也返回的是false, 官方文档的checkapi 好像是说 如果为false就是不可调用的
切换sdk版本,我找了三个版本,但是都没有什么用,官方文档说:从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.,我这样做了,但是提示api不可用
确实可以不用调用wx.config了,去年刚搞过
提示不可用应该是签名生成的规则搞错了,企业微信和微信生成签名用的参数不一样
已解决,调试不能从浏览器调试,必须在企业微信的侧边栏进入,这方面非常严格,浏览器调试完全走不通,必须下企业微信开发者工具,并且从侧边栏进入才能获取到微信的外部userid