【问题标题】:Sending messages in Teams with a bot on behalf of a user代表用户使用机器人在 Teams 中发送消息
【发布时间】:2020-02-24 10:15:30
【问题描述】:

我有一个包含 Microsoft Teams 上的机器人的应用程序,它是使用机器人框架构建的。我需要我的应用程序能够让用户将消息发送到特定的频道和线程。我可以使用“主动消息传递”功能对我的机器人执行此操作,但消息随后由机器人发送,而不是用户发送。 有什么办法可以像用户发送消息一样实现这一点?

【问题讨论】:

    标签: botframework azure-ad-graph-api microsoft-teams


    【解决方案1】:

    您不需要使用机器人。

    试试这个 Microsoft Graph API 端点(测试版):

    POST https://graph.microsoft.com/beta/teams/TEAM_ID/channels/CHANNEL_ID/chatThreads
    {
     "RootMessage": {
        "body": {
           "contentType": 1,
           "content": "Hello World!"
          }
      }
    }
    

    记住你需要实现Authentication on behalf of a user

    【讨论】:

    • 在 microsoft 的文档中查找该端点 (developer.microsoft.com/en-us/graph/graph/docs/api-reference/…) 似乎它不支持应用程序权限类型,这意味着我无法在我的应用程序中使用它。有没有办法绕过它?或者另一种方法来实现我的目标?
    • 不能通过 Botframework SDK 执行此操作,并且必须使用 Graph API。确保您使用Group.ReadWrite.All 权限(目前仅适用于委派的工作/学校帐户)。只要您的 App Registration 有权限,您应该可以使用token from here。不幸的是,由于权限限制,我无法对此进行测试,但它应该可以工作。
    • 您的要求是代表用户发送消息。所以你真正需要的是委托权限而不是应用程序权限。
    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多