/// <summary> /// 发送普通消息 /// </summary> /// <param name="accessToken"></param> /// <param name="sender">消息发送者 userId</param> /// <param name="cId">群会话或者个人会话的id,通过JSAPI的dd.chooseChatForNormalMsg接口唤起联系人界面选择之后即可拿到会话cid</param> /// <param name="msg">消息内容,消息类型和样例可参考“消息类型与数据格式”文档。最长不超过2048个字节</param> /// <returns></returns> public OapiMessageSendToConversationResponse SendToConversation(string accessToken, string sender, string cId, OapiMessageSendToConversationRequest.MsgDomain msg) { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/message/send_to_conversation"); OapiMessageSendToConversationRequest req = new OapiMessageSendToConversationRequest(); req.Sender = sender; req.Cid = cId; req.Msg_ = msg; OapiMessageSendToConversationResponse response = client.Execute(req, accessToken); return(response); }
/// <summary> /// 发送普通消息--弃用 /// </summary> /// <param name="accessToken"></param> /// <param name="sender">消息发送者 userId</param> /// <param name="cId">群会话或者个人会话的id,通过JSAPI的dd.chooseChatForNormalMsg接口唤起联系人界面选择之后即可拿到会话cid</param> /// <param name="msg">消息内容,消息类型和样例可参考“消息类型与数据格式”文档。最长不超过2048个字节</param> /// <returns></returns> public static OapiMessageSendToConversationResponse SendToConversation(string accessToken, string sender, string cId, OapiMessageSendToConversationRequest.MsgDomain msg) { try { IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/message/send_to_conversation"); OapiMessageSendToConversationRequest req = new OapiMessageSendToConversationRequest(); req.Sender = sender; req.Cid = cId; req.Msg_ = msg; OapiMessageSendToConversationResponse response = client.Execute(req, accessToken); log.Info("SendToConversation: " + response.Body); return(response); } catch (Exception ex) { log.Info(ex); return(null); } }
/// <summary> /// 发送普通消息 /// </summary> /// <param name="parameters"></param> /// <returns></returns> public static ResponseParameters SendAnOrdinaryMessage(RequestParameters parameters) { try { log.Info("发送普通消息"); DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/message/send_to_conversation"); OapiMessageSendToConversationRequest req = new OapiMessageSendToConversationRequest(); log.Info("Sender:" + parameters.Sender + ";Cid:" + parameters.Cid); req.Sender = parameters.Sender; req.Cid = parameters.Cid; OapiMessageSendToConversationRequest.MsgDomain msg = new OapiMessageSendToConversationRequest.MsgDomain(); switch (parameters.SendMsgType) { case SendMsgType.text: // 文本消息 OapiMessageSendToConversationRequest.TextDomain text = new OapiMessageSendToConversationRequest.TextDomain(); text.Content = parameters.Message; msg.Text = text; msg.Msgtype = "text"; req.Msg_ = msg; log.Info("发送文本消息" + parameters.Message); break; case SendMsgType.image: // 图片 OapiMessageSendToConversationRequest.ImageDomain image = new OapiMessageSendToConversationRequest.ImageDomain(); image.MediaId = parameters.Message; msg.Image = image; msg.Msgtype = "image"; req.Msg_ = msg; break; case SendMsgType.file: // 文件 OapiMessageSendToConversationRequest.FileDomain file = new OapiMessageSendToConversationRequest.FileDomain(); file.MediaId = parameters.Message; msg.File = file; msg.Msgtype = "file"; req.Msg_ = msg; break; case SendMsgType.markdown: OapiMessageSendToConversationRequest.MarkdownDomain markdown = new OapiMessageSendToConversationRequest.MarkdownDomain(); markdown.Text = parameters.Text; markdown.Title = parameters.Title; msg.Markdown = markdown; msg.Msgtype = "markdown"; req.Msg_ = msg; break; case SendMsgType.action_card: OapiMessageSendToConversationRequest.ActionCardDomain actionCard = new OapiMessageSendToConversationRequest.ActionCardDomain(); actionCard.Title = parameters.Title; actionCard.Markdown = parameters.Markdown; actionCard.SingleTitle = parameters.SingleTitle; actionCard.SingleUrl = parameters.SingleUrl; msg.ActionCard = actionCard; msg.Msgtype = "action_card"; req.Msg_ = msg; break; case SendMsgType.link: // link消息 OapiMessageSendToConversationRequest.LinkDomain link = new OapiMessageSendToConversationRequest.LinkDomain(); link.MessageUrl = parameters.MessageUrl; link.PicUrl = parameters.PicUrl; link.Text = parameters.Text; link.Title = parameters.Title; msg.Link = link; msg.Msgtype = "link"; req.Msg_ = msg; break; default: break; } OapiMessageSendToConversationResponse response = client.Execute(req, Get_Access_Token()); log.Info("请求完成" + response.ToString()); return(new ResponseParameters() { ErroCode = response.Errcode, ErroMsg = response.Errmsg, Receiver = response.Receiver }); } catch (Exception ex) { return(new ResponseParameters() { ErroCode = -1, ErroMsg = ex.Message }); } }