当用户安装我的 Teams 应用程序时,我会将他们的频道帐户 ID 存储在数据库中。
稍后,我将使用同一个 ID 来获取对话参考并向他们发送主动消息。到目前为止,对于个人、小组和团队对话,此功能正常工作。
我想知道这个 ID 是否会改变,或者它对于该机器人/用户/频道是否是唯一的并且将始终保持不变。
这是我获取对话参考的示例,
contextId
是频道帐户ID
const conversationParameters: Partial<ConversationParameters> = {
tenantId,
members: [ { id: contextId, name: "", aadObjectId: aadId }],
bot: { id: botId, name: "" },
};
await adapter.createConversationAsync(process.env.MicrosoftAppId, "msteams", serviceURL, null, conversationParameters as ConversationParameters,
async context => {
const ref = TurnContext.getConversationReference(context.activity);
...
}
})
干杯
Meghana-MSFT 评论中提供的答案
您存储在数据库中的渠道帐户 ID 对于您的机器人、用户和渠道的组合是唯一的。除非对任何这些组件进行更改,否则它将保持不变。