【问题标题】:Impersonation in Microsoft TeamsMicrosoft Teams 中的模拟
【发布时间】:2019-01-21 12:13:01
【问题描述】:

我正在尝试使用 Teams 中的 Microsoft Bot Framework 将消息转发给选定的用户。 该功能在 Bot Emulator 中按预期工作,但在我的组织中使用 Teams(使用有效用户 ID)对其进行测试时

消息作为 Bot 直接发送给用户。

IMessageActivity newMessage = Activity.CreateMessageActivity();

newMessage.Type = ActivityTypes.Message;
newMessage.From = new ChannelAccount("Impersonated User ID", "Impersonated User Name");
newMessage.Conversation = context.Activity.Conversation;
newMessage.Recipient = new ChannelAccount("Recipient ID");
//newMessage.From.Name = "Stephane Fornaroli";
newMessage.ReplyToId = context.Activity.From.Id;
newMessage.Text = text;

await context.PostAsync(newMessage);

这也适用于频道对话,用于将消息转发到指定频道:

var messagee = JsonConvert.DeserializeObject<ConversationReference>(conversationReference).GetPostToBotMessage();
var channelData = context.Activity.ChannelData;

var message = Activity.CreateMessageActivity();

message.Text = text;
message.From = new ChannelAccount("Impersonated User ID", "Impersonated User Name");

var conversationParameters = new ConversationParameters
{
    IsGroup = true,
    ChannelData = channelData,
    Activity = (Activity)message
};
var connectorClient = new ConnectorClient(new Uri(messagee.ServiceUrl));

await connectorClient.Conversations.CreateConversationAsync(conversationParameters);

【问题讨论】:

  • 为了清楚起见,您是否尝试让用户 A 向机器人发送消息,然后机器人将消息“转发”给用户 B,但让它看起来好像消息来自用户一个?如果是这样,这是 Teams 中的故意限制,以防止机器人冒充一个人。或者,您可以让您的 Bot 将其作为 Bot 发送,但消息类似于“来自 的消息:
  • 是的,您对场景的看法是正确的。但是接下来我如何使用机器人来调度来自用户 A 和 C 的呼叫,以将其转发给可以接听他们的用户 B。
  • 您描述的场景是正确的:(用户 A 向 Bot 发送消息,然后 bot 将消息“转发”给用户 B,但使其看起来好像消息来自用户A) 此功能在 Teams 中锁定的原因是什么?这种情况在 Skype for Business 中是可能的,并且随着 Microsoft 正在推动其客户从 Skype4B 迁移到 Teams,我们希望 Teams 能够涵盖相同的情况。
  • MSFT 不希望机器人能够出于透明度/隐私/安全原因冒充用户。我想在 SfB 中,这不是故意允许的。 (现在,机器人框架几乎不支持 SfB,仅供参考)。
  • This docs page 应该可以帮助您设置具有 Skype 功能的 MS 团队机器人,但由于它偏离主题,如果您遇到麻烦,应该提出自己的 StackOverflow 问题。

标签: c# botframework microsoft-teams


【解决方案1】:

一种选择是使用来自用户的委托权限使用Graph API to send message。请注意,目前此 API 处于测试阶段,仅支持发送纯文本消息。

【讨论】:

    猜你喜欢
    • 2019-11-14
    • 1970-01-01
    • 2023-03-11
    • 2021-07-22
    • 2018-04-19
    • 2022-12-17
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    相关资源
    最近更新 更多