-
Notifications
You must be signed in to change notification settings - Fork 18
GetMessage()
public class GetMessageRequest
{
public string TaskID { get; set; }
public string Action { get; set; } // 动作。空/getGroupName
public string GroupCondition { get; set; } // 群组名或者 ID
public string UserCondition { get; set; } // 用户名条件
public string TimeCondition { get; set; } // 时间范围。xxxx~xxxx。DateTime.ToString("G") 格式。
public string SortCondition { get; set; } // 排序方式。publishTime|ascending。默认按照 publishTime 升序
public string IdCondition { get; set; } // 消息 ID 的列表
public string SubjectCondition { get; set; } // 主题词的列表
public long Start { get; set; }
public long Count { get; set; }
动作。
有以下值可用:
空/transGroupName/transGroupNameQuick/enumGroupName/enumSubject
Action为空的时候,表示单纯获取消息。
Action为enumSubject,表示枚举满足条件的消息记录中的主题词字段内容。 在返回的MessageRecord结构中,subjects字段是主题词,data字段里面是该主题词内容出现的次数。
用户名范围。用法xxxx,xxxx,xxxx。如果为空则表示不限制用户名范围。
xxxx代表用户名或者用户ID。
用户名例子:testclient1或un:testclient1
用户ID例子:ui:nnnnnnnn
本API将用此参数去过滤消息记录的creator字段。Creator字段里存储的是用户ID,不是用户名,但本参数可以使用用户名,本API会自动翻译为用户ID进行检索。
时间范围。用法xxxx~xxxx。如果为空则表示不限制时间范围。
本API将用此参数去过滤消息记录的publishTime字段。
排序方式。用法:publishTime|ascending。左边是排序字段,右边是升序或者降序。
如果本参数为空,默认用publishTime字段按照升序排序。
asc desc
消息ID。用法:xxxxx,xxxxx,xxxxx
主题词。
用法1:Subject1 表示主题中至少具有一个Subject1的消息
用法2:Subject1,Subject2 表示主题中具有Subject1或者Subject2的消息。不必同时具备
用法3:Subject1,Subject2|and 表示主题中具有Subject1和Subject2的消息。必须同时具备。主题词值可以不止两个。 注:前面没有用竖线部分的,相当于用了’|or’的效果
用法4:[Subject1,Subject2] 表示主题中同时具有Subject1和Subject2的消息,而且仅有这两个值。如果有第三个值的则不能命中 注:用了方括号以后,再用竖线部分会被忽略
用法5:[Subject1] 表示主题中具有Subject1的消息,而且仅有这一个值。如果有更多值的则不能命中
关于主题词本身内容里面出现逗号等特殊字符怎么办?主题词本身部分,要利用 StringUtil.EscapeString() 函数进行转义,以保护里面的特殊字符。用法如下:
strText = StringUtil.EscapeString(strText, ",|"); 然后再用逗号等字符拼接成检索式字符串。