public JObject SendText(string userid, string content) { var msgContent = new OapiMessageCorpconversationAsyncsendV2Request.TextDomain { Content = content }; var msg = new OapiMessageCorpconversationAsyncsendV2Request.MsgDomain { Msgtype = "text", Text = msgContent }; return(SendWorkMsg(userid, msg)); }
//// /** * 同一个微应用相同消息内容同一个用户一天只能接收一次,重复发送会发送成功但用户接收不到。 * 该接口是异步发送消息,接口返回成功并不表示用户收到消息,需要通过“查询工作通知消息的发送结果”接口查询是否给用户发送成功。 */ /// <summary> /// 发送工作消息 /// </summary> /// <param name="parameters"></param> /// <returns></returns> public static ResponseParameters SendWorkNotificationMessage(RequestParameters parameters) { try { log.Info("发送工作消息"); DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"); OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request(); log.Info("UseridList:" + parameters.Userid_list + ";AgentId:" + parameters.Agent_id + ";ToAllUser:"******"text"; msg.Text = text; request.Msg_ = msg; log.Info("发送Text消息:" + parameters.Message); break; case SendMsgType.image: OapiMessageCorpconversationAsyncsendV2Request.ImageDomain image = new OapiMessageCorpconversationAsyncsendV2Request.ImageDomain(); image.MediaId = parameters.MediaId; msg.Msgtype = "image"; msg.Image = image; request.Msg_ = msg; log.Info("发送image:" + parameters.MediaId); break; case SendMsgType.file: OapiMessageCorpconversationAsyncsendV2Request.FileDomain file = new OapiMessageCorpconversationAsyncsendV2Request.FileDomain(); file.MediaId = parameters.MediaId; msg.Msgtype = "file"; msg.File = file; request.Msg_ = msg; log.Info("发送file:" + parameters.MediaId); break; case SendMsgType.link: OapiMessageCorpconversationAsyncsendV2Request.LinkDomain link = new OapiMessageCorpconversationAsyncsendV2Request.LinkDomain(); link.Title = parameters.Title; link.Text = parameters.Text; link.MessageUrl = parameters.MessageUrl; link.PicUrl = parameters.PicUrl; msg.Link = link; msg.Msgtype = "link"; request.Msg_ = msg; log.Info("发送link:Title" + parameters.Title); break; case SendMsgType.markdown: OapiMessageCorpconversationAsyncsendV2Request.MarkdownDomain markdown = new OapiMessageCorpconversationAsyncsendV2Request.MarkdownDomain(); markdown.Text = parameters.Text; markdown.Title = parameters.Title; msg.Msgtype = "markdown"; msg.Markdown = markdown; request.Msg_ = msg; break; case SendMsgType.action_card: OapiMessageCorpconversationAsyncsendV2Request.ActionCardDomain actionCard = new OapiMessageCorpconversationAsyncsendV2Request.ActionCardDomain(); actionCard.Title = parameters.Title; actionCard.Markdown = parameters.Markdown; actionCard.SingleTitle = parameters.SingleTitle; actionCard.SingleUrl = parameters.SingleUrl; msg.ActionCard = actionCard; msg.Msgtype = "action_card"; request.Msg_ = msg; break; case SendMsgType.oa: OapiMessageCorpconversationAsyncsendV2Request.OADomain oA = new OapiMessageCorpconversationAsyncsendV2Request.OADomain(); OapiMessageCorpconversationAsyncsendV2Request.HeadDomain head = new OapiMessageCorpconversationAsyncsendV2Request.HeadDomain(); OapiMessageCorpconversationAsyncsendV2Request.BodyDomain body = new OapiMessageCorpconversationAsyncsendV2Request.BodyDomain(); head.Text = parameters.Text; body.Content = parameters.Message; oA.Head = head; oA.Body = body; msg.Oa = oA; msg.Msgtype = "oa"; request.Msg_ = msg; break; default: break; } OapiMessageCorpconversationAsyncsendV2Response response = client.Execute(request, Get_Access_Token()); log.Info("请求完成" + response.ToString()); return(new ResponseParameters() { ErroCode = response.Errcode, ErroMsg = response.Errmsg, TaskId = response.TaskId }); } catch (Exception ex) { return(new ResponseParameters() { ErroCode = -1, ErroMsg = ex.Message }); } }