企业微信 获取外部联系人信息

本文详细介绍了如何在企业微信中通过JS-SDK进行权限验证,包括获取access_token、jsapi_ticket,生成签名,配置config和agentConfig,并重点讲解了如何通过jsApiList调用接口获取外部联系人信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面所需引入js
<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>

参数详解:企业id  应用id
1.获取access_token:https://qyapi.weixin.qq.com/cgi-bin/gettoken
2.获取企业的获取企业的jsapi_ticket:https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=ACCESS_TOKEN
3.获取应用的jsapi_ticket:https://qyapi.weixin.qq.com/cgi-bin/ticket/get?access_token=ACCESS_TOKEN&type=agent_config
4.js-SDK签名算法:https://work.weixin.qq.com/api/jsapisign
5.生成签名,放入两个config参数中。
6.jsApiList: ['getContext','getCurExternalContact'] 传入需要使用的企微api名称
7.通过双向验证以后,获取到用户id,调用接口获取当前外部联系人详细信息:https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get 参数:access_token  external_userid

wx.config 验证:
wx.config({
		beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
		debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
		appId: '', // 必填,企业微信的corpID
		timestamp: 1635564451, // 必填,生成签名的时间戳
		nonceStr: 'Wm3WZYTPz0wzccnW', // 必填,生成签名的随机串
		signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
		jsApiList: ['getContext','getCurExternalContact'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
	});
	wx.ready(function(){
		// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
	});
	wx.error(function(res){
		// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
	});

wx.agentConfig 验证:
wx.agentConfig({
		corpid: '',// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
		agentid: '', // 必填,企业微信的corpID
		timestamp: 1635564451 , // 必填,生成签名的时间戳
		nonceStr: 'Wm3WZYTPz0wzccnW', // 必填,生成签名的随机串
		signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
		jsApiList: ['getContext','getCurExternalContact'],// 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
		success: function(res) {
			wx.invoke('getContext', {
			}, function(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接口 一般用不到
					wx.invoke('getCurExternalContact', {
					}, function(res){
						if(res.err_msg == "getCurExternalContact:ok"){
							userId  = res.userId //返回当前外部联系人userId
							// 获取到userId 调用后台接口 获取用户详情信息
							调用接口获取当前外部联系人详细信息(在后台获取):
							https://qyapi.weixin.qq.com/cgi-bin/externalcontact/get 参数:access_token  external_userid
							alert(res.userId)
						}else {
							console.log('错误信息', res) //错误处理
						}
					});
				}else {
					//错误处理
				}
			});
		},
		fail: function(res) {
			if(res.errMsg.indexOf('function not exist') > -1){
				this.jsApiList.performAlert('版本过低请升级')
			}
		}
	});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值