你好我已经使用这个https://rocket.chat/docs/developer-guides/rest-api/im/history经由休息API获取未读邮件。如何通过REST API获取未读消息在Rocket.chat
示例呼叫
1)(https://rcserver.rocket.chat/api/v1/im.history?roomId=ByehQjC44FwMeiLbX?&unreads=true)
2)(https://rcserver.rocket.chat/api/v1/im.history?roomId=ByehQjC44FwMeiLbX?&unreads=“+真)
代码
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(Constants.CONST_SITEURL);
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("X-Auth-Token", authToken);
client.DefaultRequestHeaders.Add("X-User-Id", userRcId);
HttpResponseMessage msgHistory = client.GetAsync(Constants.CONST_CHATHISTORY + userDetail.RC_RoomID + "&count=20&unreads=true").Result;
if (msgHistory.IsSuccessStatusCode)
{
using (HttpContent content = msgHistory.Content)
{
var result = content.ReadAsStringAsync();
value = JObject.Parse(result.Result);
}
directChatWindow = JsonConvert.DeserializeObject<DirectChatWindowBO>(value.ToString());
}
我尝试上述链路和代码,但它不会给结果中的任何未读属性
示例结果
{
"messages": [
{
"_id": "7e6691fc-16sdfd3-ecbfsd8-317a-4076bb307e5dfsfd-4564",
"rid": "CBsDHB7M8fsdfsdfN8G4X2BjsBDt5khnkenENacLN",
"msg": "hittti",
"ts": "2017-08-16T11:08:21.011Z",
"u": {
"_id": "CBsDHsdadsaB7M8N8G4X2Bj",
"username": "xyz",
"name": "xyz21"
},
"mentions": [],
"channels": [],
"_updatedAt": "2017-08-16T11:08:21.013Z"
},
{
"_id": "eaf75056-bcxcvxcv40c-4a68-0128-c40503289d60",
"rid": "CBsDHxcvB7M8cvxvxcvN8G4X2BjsBDt5kxcvhnkenENacLN",
"msg": "hi",
"ts": "2017-08-16T11:07:53.579Z",
"u": {
"_id": "CBsDHB7M8N8G4X2Bj",
"username": "Abc",
"name": "Abc123 "
},
"mentions": [],
"channels": [],
"_updatedAt": "2017-08-16T11:07:53.583Z"
}]
}
请帮助我。 谢谢。
会不会是可供私人团体呢?因为当前“firstUnread”块未显示在私人组历史响应中。 – PVR
@PVR是的,它将在频道,群组和直接消息上启用。发布还没有完成,其中包含解决问题的代码,它将在Rocket.Chat的下一个版本中为0.59。 – bradleyhilton
嘿感谢您的回复。将等待下一个版本。 – PVR