调用前提:
1、必须先调用过wx.qy.login,且session_key未过期,开发者可调用checkSession 检查当前登录态.
2、用户在应用可见范围内时可以静默获取,否则需要用户同意确认。如应用为第三方应用,且需要获取性别敏感信息,则无论是否处于应用可见范围都需要用户同意后才能获取。
获取企业成员基本信息
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
timeout | Number | 否 | 超时时间,单位 ms |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
参数
Object res
参数 | 类型 | 说明 |
---|---|---|
userInfo | OBJECT | 用户信息对象,不包含userid、手机号、头像等敏感信息 |
rawData | String | 不包括敏感信息的原始数据字符串,用于计算签名。 |
signature | String | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,参考文档 signature。 |
encryptedData | String | 包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法 |
iv | String | 加密算法的初始向量,详细见加密数据解密算法 |
userInfo参数说明:
参数 | 类型 | 说明 |
---|---|---|
name | String | 企业成员姓名,此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回,后续第三方仅通讯录应用可获取,第三方页面需要通过通讯录展示组件来展示名字 |
gender | Number | 企业成员的性别,0表示未定义或无权限获取,1表示男性,2表示女性。第三方应用需具备性别敏感信息权限才可获取此字段。上游企业不可获取下游企业成员该字段 |
language | String | 用户的语言,简体中文为zh_CN |
示例代码:
wx.qy.getEnterpriseUserInfo ({
success: function(res) {
var userInfo = res.userInfo
var name = userInfo.name
var gender = userInfo.gender //性别 0:未知、1:男、2:女
}
})
encryptedData 解密后为以下 json 结构,详见加密数据解密算法, 注意解密时使用的appid为小程序的appid,而非企业的corpid,后不再赘述。
{
"corpid": "CORPID",
"userid": "USERID",
"name": "NAME",
"gender": GENDER,
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
encryptedData解密后json参数说明:
参数 | 类型 | 说明 |
---|---|---|
corpid | String | 用户所属企业的corpid。注意:如果该企业没有关联该小程序,该字段为空 |
userid | String | 企业成员UserID,对应管理端的账号。注意:第三方小程序此处返回加密的userid |
name | String | 企业成员姓名,此字段从2019年12月30日起,对新创建第三方应用不再返回,2020年6月30日起,对所有历史第三方应用不再返回,后续第三方仅通讯录应用可获取,第三方页面需要通过通讯录展示组件来展示名字 |
gender | Number | 企业成员的性别,0表示未定义或无权限获取,1表示男性,2表示女性。第三方应用需具备性别敏感信息权限才可获取此字段。上游企业不可获取下游企业成员该字段 |
watermark | 数据水印,应用可以依此校验数据的有效性 | |
watermark::appid | String | 敏感数据归属的小程序appid,开发者可校验此参数与自身appid是否一致,注意此appid不是企业微信的corpid |
watermark::timestamp | DateInt | 敏感数据获取的时间戳, 开发者可以用于数据时效性校验 |