【问题标题】:Sending formatted messages as Company in Microsoft Teams在 Microsoft Teams 中以公司的身份发送格式化的消息
【发布时间】:2021-02-22 22:56:27
【问题描述】:

我目前正在与 Microsoft Teams 进行自定义集成。集成的目标是允许我的所有客户安装集成并获取频道和用户列表,然后从我们的系统内将格式化的消息发送到选定的频道和用户。我希望将消息的作者设置为我公司的名称,而不是与 Microsoft Teams 集成的用户。我已经测试过 Graph API,但我无法以公司身份发送消息,只能作为经过身份验证的用户发送消息。根据此页面:https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview 我还有更多可用选项:连接器和机器人。我一直在想哪一个最适合。任何指导将不胜感激。谢谢!

【问题讨论】:

  • 请提供代码,否则很难帮助到您。

标签: microsoft-teams


【解决方案1】:

因此,您可以使用连接器发送到频道,但不能直接(私下)发送给用户,您需要一个机器人。此外,连接器只能向 Teams 发送消息(基本上作为传入 webhook - 请参阅此处:https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using)。如果您希望用户能够做出响应(通过@提及或通过发送带有用户希望点击的按钮的卡片),那么再次连接器/传入 webhook 是不够的。

上面链接中显示的示例包括一个带有 httpPost 选项的 MessageCard,因此它可能仍能满足您对可点击按钮的需求,但它还有一些其他限制需要注意,仅供参考。

为了以 Bot 的形式进行发送,您需要使用一个称为“主动消息传递”的概念。这里是a sample on how to do this,页面底部是一个“延伸阅读”列表,作为背景非常有用。

关于您关于命名的观点,您可以使用您喜欢的任何名称来调用您的连接器或您的机器人,但是对于机器人,它需要在整个 Azure 机器人环境中是独一无二的(例如,应用程序中没有其他名称)使用该名称存储)。重要的是要知道,如果您想在多个租户之间使用它(例如每个租户对机器人有不同的名称),则无法为每个租户自定义它 - 您需要以另一种方式执行此操作(有几个选项)。

【讨论】:

  • 我的理解是,MS Teams 中的机器人是您在 MS Teams 中安装的一种扩展,用户与之交互,并且是用户发起这种交互。我的目标只是从我的系统内(私人和频道)发送消息/通知,不需要回复/回答。你仍然认为机器人最适合这个吗?
  • 在这个例子中:github.com/microsoft/BotBuilder-Samples/blob/main/samples/…) 有一个函数接收参数上下文。我想要实现的是触发主动消息,那么如何在没有来自 Microsoft Teams 的任何交互的情况下获取上下文对象
  • 啊!我忘了提到那部分 - 现在更新了我的答案。我已链接到 Teams PnP 中的示例,该示例显示了执行主动消息传递的另一种方式。本质上,您需要知道对话的特定地理端点(每个租户,有时每个用户都不同,因此您必须在对话开始时获取它)以及对话的唯一 ID - 该示例显示了如何同时获取.我个人认为这个示例比您链接的其他示例更容易理解,但我非常有偏见(我写了这个示例;>)
  • 太好了,很高兴听到!
猜你喜欢
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-28
相关资源
最近更新 更多