微信企业号之通讯录开发
#region 微信通讯录操作
///
/// 创建微信用户
///
/// 成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节
/// 成员名称。长度为1~64个字节
/// 成员所属部门id列表,不超过20个
/// 职位信息。长度为0~64个字节
/// 手机号码。企业内必须唯一,mobile/weixinid/email三者不能同时为空
/// 性别。1表示男性,2表示女性
/// 邮箱。长度为0~64个字节。企业内必须唯一
/// 扩展属性。扩展属性需要在WEB管理端创建后才生效,否则忽略未知属性的赋值
///
public static JObject CreateManager(string userid,string name,string department,string position,string moblie,string gender,string email,string extattr)
{
WeiManager manager = ToManager(userid, name, department, position, moblie, gender, email, extattr);
string access_token = "";
if (HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN] == null)
{
access_token = GetAccessToken();
}
else
{
access_token = HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN].ToString();
}
string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token={0}", access_token);
var departStr = JsonConvert.SerializeObject(manager).ToString();
JObject result = HttpWebResponseUtility.HttpPostJson(url, departStr);
return result;
}
///
/// 更新微信用户
///
/// 成员UserID。对应管理端的帐号,企业内必须唯一。不区分大小写,长度为1~64个字节
/// 成员名称。长度为1~64个字节
/// 成员所属部门id列表,不超过20个
/// 职位信息。长度为0~64个字节
/// 手机号码。企业内必须唯一,mobile/weixinid/email三者不能同时为空
/// 性别。1表示男性,2表示女性
/// 邮箱。长度为0~64个字节。企业内必须唯一
/// 扩展属性。扩展属性需要在WEB管理端创建后才生效,否则忽略未知属性的赋值
///
public static JObject UpdateManager(string userid, string name, string department, string position, string moblie, string gender, string email, string extattr)
{
WeiManager manager = ToManager(userid, name, department, position, moblie, gender, email, extattr);
string access_token = "";
if (HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN] == null)
{
access_token = GetAccessToken();
}
else
{
access_token = HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN].ToString();
}
string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token={0}", access_token);
var departStr = JsonConvert.SerializeObject(manager).ToString();
JObject result = HttpWebResponseUtility.HttpPostJson(url, departStr);
return result;
}
///
/// 删除微信用户,一次多条
///
/// id
///
public static JObject DeleteManagers(string Ids)
{
string idstr = "{\"useridlist\": ["+ Ids + "]}";
string access_token = "";
if (HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN] == null)
{
access_token = GetAccessToken();
}
else
{
access_token = HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN].ToString();
}
string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/batchdelete?access_token={0}", access_token);
JObject result = HttpWebResponseUtility.HttpPostJson(url, idstr);
return result;
}
///
/// 删除微信用户,一次删除一条
///
/// id
///
public static int DeleteManager(int id)
{
string access_token = "";
if (HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN] == null)
{
access_token = GetAccessToken();
}
else
{
access_token = HttpContext.Current.Session[DTKeys.COOKIE_ACCESS_TOKEN].ToString();
}
string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token={0}&userid={1}", access_token, id);
JObject result = HttpWebResponseUtility.GetHttpResponse(url, 20000);
int sucCount = 0;
if (Convert.ToInt32(result["errcode"]) == 0)
sucCount++;
return sucCount;
}
///
///将参数转换为manager对象
///
///
///
///
///
///
///
///
///
///
public static WeiManager ToManager(string userid, string name, string department, string position, string moblie, string gender, string email, string extattr)
{
WeiManager manager = new WeiManager();
manager.userid = userid;
manager.name = name;
manager.department = department;
manager.position = position;
manager.mobile = moblie;
manager.gender = gender;
manager.email = email;
manager.extattr = extattr;
manager.weixinid = null;
manager.avatar_mediaid = null;
return manager;
}
#endregion