Пример #1
0
        /// <summary>
        /// 发送群消息
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="chatId">群会话的id,可以在调用创建群会话接口的返回结果里面获取,也可以通过dd.chooseChat获取</param>
        /// <param name="msg">消息内容,消息类型和样例可参考“消息类型与数据格式”文档 https://open-doc.dingtalk.com/microapp/serverapi2/ye8tup</param>
        /// <returns></returns>
        public OapiChatSendResponse Send(string accessToken, string chatId, MsgDomain msg)
        {
            IDingTalkClient     client  = new DefaultDingTalkClient("https://oapi.dingtalk.com/chat/send");
            OapiChatSendRequest request = new OapiChatSendRequest();

            request.Chatid = chatId;
            request.Msg_   = msg;
            OapiChatSendResponse response = client.Execute(request, accessToken);

            return(response);
        }
Пример #2
0
 /// <summary>
 /// 发送工作消息公共函数
 /// </summary>
 /// <param name="url"></param>
 /// <param name="userid">多用户逗号分隔</param>
 /// <param name="msg"></param>
 /// <returns></returns>
 public JObject SendWorkMsg(string userid, MsgDomain msg)
 {
     try
     {
         var url     = $"{m_host}/topapi/message/corpconversation/asyncsend_v2";
         var client  = new DefaultDingTalkClient(url);
         var request = new OapiMessageCorpconversationAsyncsendV2Request();
         request.AgentId    = m_agentId;
         request.UseridList = userid;
         request.Msg_       = msg;
         var response = client.Execute(request, access_token);
         var _json    = JObject.Parse(response.Body);
         //if (Convert.ToInt32(_json["errcode"].ToString()) != 0)
         //{
         //    //LogService.AppendDebugLog(typeof(DingTalkService), $"请求地址[{url}]返回{_json.ToString()}");
         //}
         return(_json);
     }
     catch (Exception ex)
     {
         //this.AppendErrorLog(ex.Message, ex);
     }
     return(null);
 }
Пример #3
0
        /// <summary>
        /// 发送工作通知消息
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="msg">消息内容,消息类型和样例参考“消息类型与数据格式”。最长不超过2048个字节</param>
        /// <param name="agentId">应用agentId</param>
        /// <param name="deptIds">接收者的部门id列表,最大列表长度:20,  接收者是部门id下(包括子部门下)的所有用户</param>
        /// <param name="userIds">接收者的用户userid列表,最大列表长度:100</param>
        /// <param name="toAllUser">是否发送给企业全部用户</param>
        /// <returns></returns>
        public OapiMessageCorpconversationAsyncsendV2Response Send(string accessToken, MsgDomain msg, long agentId, string deptIds = "", string userIds = "", bool toAllUser = false)
        {
            IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");

            OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();

            request.UseridList = userIds;
            request.AgentId    = agentId;
            request.ToAllUser  = toAllUser;
            request.DeptIdList = deptIds;
            request.Msg_       = msg;

            OapiMessageCorpconversationAsyncsendV2Response response = client.Execute(request, accessToken);

            return(response);
        }
Пример #4
0
        public static OapiMessageCorpconversationAsyncsendV2Response PushMessage(string userIdList, bool?toAllUser, string detptIdList, MsgDomain msg_)
        {
            OapiGettokenResponse token  = getToken();
            IDingTalkClient      client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
            OapiMessageCorpconversationAsyncsendV2Request req = new OapiMessageCorpconversationAsyncsendV2Request();

            req.UseridList = userIdList;
            req.ToAllUser  = toAllUser;
            req.DeptIdList = detptIdList;
            req.Msg_       = msg_;
            req.AgentId    = AgentId;
            OapiMessageCorpconversationAsyncsendV2Response rsp = client.Execute(req, token.AccessToken);

            return(rsp);
        }