Mvc 微信企业号开发之部门开发

  • 请求说明

Https请求方式: POST

1、创建部门

https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=ACCESS_TOKEN

请求包结构体为:

{
   "name": "广州研发中心",
   "parentid": 1,
   "order": 1,
   "id": 1
}
  返回结果
{
   "errcode": 0,
   "errmsg": "created",
   "id": 2
}

  /// <summary>
        /// 创建部门
        /// </summary>
        /// <param name="name">部门名称</param>
        /// <param name="parentid">父级id</param>
        /// <param name="order">排序</param>
        /// <param name="id">id</param>
        /// <returns></returns>
        public JObject CreatDepart(string name, int parentid, int order,int id )
        {
            string access_token = Utils.GetCookie("ticket", "access_token");
            if (string.IsNullOrEmpty(access_token))
            {
                access_token= GetAccessToken();
            }
            Asms.B2C.BaseRequest<SearchTicketResponse> requet = new Asms.B2C.BaseRequest<SearchTicketResponse>();
            string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token={0}&name={1}&parentid={2}&order={3}&id={4}", access_token, name, parentid, order, id);
            JObject result = requet.SendRequestJson(url);
            return result;
        }
错误:{   "errcode": 60001,   "errmsg": "department invalid length" }
因为我传参数的方式错误,造成了上面的错误,官方文档说需要用json格式传输参数。于是我改成了下面的方式


  public static JObject CreatDepart(string name, int parentid, int order, 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();
            }
            Depart depart = new Depart();
            depart.name = name;
            depart.parentid = parentid;
            depart.order = order;
            depart.id = id;
            string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token={0}", access_token);
            var departStr = JsonConvert.SerializeObject(depart).ToString();
            JObject result = HttpWebResponseUtility.HttpPostJson(url, departStr);
            return result;
        }
然后又出现了下面的错误{  "errcode": 60011,  "errmsg": "no privilege to access/modify contact/party/agent "},去官方查看了一下,说是我的管理组
权限问题,所以我去管理后台改了一下权限,然后就可以了,反馈了下面的结果,添加成功{{  "errcode": 0,  "errmsg": "created",


修改部门信息
        /// <summary>
        /// 更新部门
        /// </summary>
        /// <param name="name">部门名称</param>
        /// <param name="parentid">父级id</param>
        /// <param name="order">排序</param>
        /// <param name="id">id</param>
        /// <returns></returns>
        public static JObject UpdateDepart(string name, int parentid, int order, int id)
        {
            string access_token = Utils.GetCookie("ticket", "access_token");
            if (string.IsNullOrEmpty(access_token))
            {
                access_token = GetAccessToken();
            }
            Depart depart = new Depart();
            depart.name = name;
            depart.parentid = parentid;
            depart.order = order;
            depart.id = id;

            string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/department/update?access_token={0}", access_token);
            var departStr = JsonConvert.SerializeObject(depart).ToString();
            JObject result = HttpWebResponseUtility.HttpPostJson(url, departStr);
            return result;
        }


删除部门信息
  /// <summary>
        /// 删除部门,一次多条
        /// </summary>
        /// <param name="id">id</param>
        /// <returns></returns>
        public static int DeleteDepart(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/department/delete?access_token={0}&id={1}", access_token, id);
            JObject result = HttpWebResponseUtility.GetHttpResponse(url, 20000);
            int sucCount = 0;
            if (Convert.ToInt32(result["errcode"]) == 0)
                sucCount++;
            return sucCount;
        }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值