/// <summary> /// 获取用户可见的审批模板 /// </summary> /// <param name="accessToken"></param> /// <param name="userId">用户id</param> /// <param name="offset">分页游标,从0开始。根据返回结果里的next_cursor是否为空来判断是否还有下一页,且再次调用时offset设置成next_cursor的值</param> /// <param name="size">分页大小,最大可设置成100</param> /// <returns></returns> public OapiProcessListbyuseridResponse ListByUserId(string accessToken, string userId, long offset, long size) { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/process/listbyuserid"); OapiProcessListbyuseridRequest request = new OapiProcessListbyuseridRequest(); request.Userid = userId; request.Offset = offset; request.Size = size; OapiProcessListbyuseridResponse response = client.Execute(request, accessToken); return(response); }
/// <summary> /// 获取用户可见的审批模板 /// </summary> /// <param name="accessToken">accessToken</param> /// <param name="userid">用户ID,不传表示获取企业的所有模板</param> /// <returns></returns> public static List <ProcessTemplate> GetProcessListByUserid(string accessToken, string userid = "") { try { DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/process/listbyuserid"); OapiProcessListbyuseridRequest request = new OapiProcessListbyuseridRequest(); if (!string.IsNullOrEmpty(userid)) { request.Userid = userid; } request.Offset = 0L; request.Size = 100L; OapiProcessListbyuseridResponse response = client.Execute(request, accessToken); if (response.Errcode == 0) { List <ProcessTemplate> list = new List <ProcessTemplate>(); foreach (OapiProcessListbyuseridResponse.ProcessTopVoDomain item in response.Result.ProcessList) { ProcessTemplate form = new ProcessTemplate(); form.Name = item.Name; form.IconUrl = item.IconUrl; form.ProcessCode = item.ProcessCode; form.Url = item.Url; list.Add(form); } return(list); } else { throw new Exception(response.Errcode.ToString()); } } catch (Exception ex) { return(null); } }