企业微信
在进行离职继承时,如果员工没有实名,会出现继承失败的问题。
一般的做法是,在前期进行是否实名的判定,但是目前企业微信并没有相关接口
要想判定是否实名,只能另辟蹊径:
找一个接口,这个接口也需要实名才能使用,且这个接口不受调用次数限制。
我选的这个接口是“联系我”-“添加临时会话”接口,这个接口不占用「联系我」数量,且每天有10万的调用量
添加后再删除这个临时会话,代码如下
try
{
res = await wxWorkService.AddContactWayForSingle(2, item.WxWorkUserId);
item.IsRealNameForWxWork = true; // 如果没出错,那么说明已经激活及实名
item.IsActivateForWxWork = true;
}
catch (ErrorJsonResultException ex)
{
if (ex.JsonResult.ErrorCodeValue == 40098)//user real name has not been verified
{
item.IsRealNameForWxWork = false;
}
else if (ex.JsonResult.ErrorCodeValue == 41054)
{
item.IsActivateForWxWork = false;
item.IsRealNameForWxWork = false; // 如果激活都没有,那么实名肯定也没有
}
else if (ex.JsonResult.ErrorCodeValue == 60111)
{
// 没找到用户 userid not found
}
else
{
throw ex;
}
}
finally
{
if (res != null && !string.IsNullOrEmpty(res.config_id))
{
await wxWorkService.DelContactWay(res.config_id);
}
}