/// <summary> /// 发送单条消息 /// </summary> /// <param name="messageContent">消息封包</param> /// <param name="messageReceiver">接收者</param> /// <param name="personMessageReceiverIdType">接收者id类型,参考PersonMessageReceiverIdType</param> public virtual SendMessageResult SendSingleMessage(MessageContent messageContent, PersonMessageReceiver messageReceiver, PersonMessageReceiverIdType personMessageReceiverIdType) { Guard.GuardReqiredObject(messageContent, "message content must be set value."); GuardMessageReceiver(messageReceiver); IList <PersonMessageReceiver> messageReceivers = new List <PersonMessageReceiver>(); messageReceivers.Add(messageReceiver); MultiMessageReceiver multiMessageReceiver = new MultiMessageReceiver(messageReceivers, personMessageReceiverIdType); return(SendMultiMessage(messageContent, multiMessageReceiver)); }
public void TestSendMultiTextMessage() { List <PersonMessageReceiver> personMessageReceivers = new List <PersonMessageReceiver> { new PersonMessageReceiver("zhongt", "钟涛"), new PersonMessageReceiver("wuyang", "武扬") }; MultiMessageReceiver multiMessageReceiver = new MultiMessageReceiver(personMessageReceivers, PersonMessageReceiverIdType.LoginId); SendMessageResult result = _messageClient.SendMultiMessage(new TextMessageContent("简单文本消息"), multiMessageReceiver); Assert.AreEqual(true, result.Success); }
/// <summary> /// 发送多条消息</summary> /// <param name="messageContent">消息封包</param> /// <param name="messageReceivers">消息接收者</param> public virtual SendMessageResult SendMultiMessage(MessageContent messageContent, MultiMessageReceiver messageReceivers) { Message message = new Message { Type = messageContent.Type, Content = messageContent }; // 获取token,检查token的有效性 AccessToken token = GetAccessToken(); if (!token.Success) { return(new SendMessageResult(false, token.Error)); } NameValueCollection parameters = new NameValueCollection(); parameters.Add("access_token", token.Token); parameters.Add("message", SerializeMessage(message)); if (messageReceivers.IdType == PersonMessageReceiverIdType.LoginId) { parameters.Add("loginIds", messageReceivers.ToId); } else if (messageReceivers.IdType == PersonMessageReceiverIdType.UserId) { parameters.Add("userIds", messageReceivers.ToId); } parameters.Add("userNames", messageReceivers.ToName); parameters.Add("id_type", ((int)messageReceivers.IdType).ToString()); parameters.Add("msgIds", MakeMessageIds(messageReceivers.Length)); HttpRequestResult requestResult = DoPost(_messageSendServiceUrl, parameters); if (!requestResult.Success) { return(new SendMessageResult(false, requestResult.Result)); } return(JsonConvert.DeserializeObject <SendMessageResult>(requestResult.Result)); }