如何使用" ConversationIndex "属性获取邮件对话中的消息顺序?



我目前正在GraphAPI中处理邮件数据。我需要获取邮件对话中消息的顺序。我有会话中消息的会话索引

如何使用对话索引获取消息的位置/顺序

用户1消息转换索引:AQHXa/g7jienD/k6UUuD7h/+vh/4PQ==

用户2消息转换索引:AQHXa/g7jienD/k6UUuD7h/+vh/4PaspGJ7v

用户1消息转换索引:AQHXa/g7jienD/k6UUuD7h/+vh/4PaspGJ7vgAAARsM=

用户2消息转换索引:AQHXa/g7jienD/k6UUuD7h/+vh/4PaspGJ7vgAAARSOAAA49xA==

用户1消息转换索引:AQHXa/g7jienD/k6UUuD7h/+vh/4PaspGJ7vgAAARSOAAA49xIAAACfU

用户2消息转换索引:AQHXa/g7jienD/k6UUuD7h/+vh/4PaspGJ7vgAAARSOAAA49xIAAACfUgAAAOmw=`

我可以解释这是如何在Outlook中工作的,因为相应的标记被添加到了问题中。

ConversationIndex属性是一个表示十六进制数的字符串。字符串中的有效字符包括数字0到9以及字母A到F(大写或小写(。

会话是一组具有相同ConversationTopic属性值的相关消息。例如,在讨论应用程序中,用户可以将原始消息和响应保存在个人文件夹中。可以使用ConversationIndex属性对消息进行标记,以便用户可以在会话中对消息进行排序。

此约定使用串联的时间戳值,会话中的每个新消息都会在ConversationIndex字符串的末尾添加一个新的时间戳。当您按ConversationIndex值对消息进行排序时,您可以看到消息之间的时间关系。

有关对话的详细信息,请参阅使用对话。

注意,Session对象提供了CreateConversationIndex方法来创建或更新会话索引。

private static getIsFirstMessageInConversation(conversationIndex?: string): boolean {
if (!conversationIndex) return false;
const FIRST_MESSAGE_IN_CONVERSATION_BYTES_LENGTH = 22;
return atob(conversationIndex).length === FIRST_MESSAGE_IN_CONVERSATION_BYTES_LENGTH;
}

最新更新