websocket - 有没有办法让用户采取行动?

标签 websocket microsoft-teams power-automate office365connectors

我正在尝试通过将参与者从 Teams 中的卡传递给 HttpPOST 操作来解决该任务。
因此,一旦用户单击操作,我就可以使用 Inputs 来获取用户输入并将其添加到 POST 操作中:

{
  "@type": "ActionCard",
  "name": "Comment",
  "inputs": [
    {
      "@type": "TextInput",
      "id": "comment",
      "isMultiline": true,
      "title": "Input's title property"
    }
  ],
  "actions": [
    {
      "@type": "HttpPOST",
      "name": "Action's name prop.",
      "target": "https://yammer.com/comment?postId=123",
      "body": "comment={{comment.value}}"
    }
  ]
}

但我想添加一些用户信息(姓名、电子邮件等)。

我们是否有一些预定义的变量可以用于它?

附注:
1. 连接器在包含 Actor 姓名的 HttpPOST 操作的成功响应后将回复发布到卡片(因此看起来很有希望):
image
2.连接器通过access_token到包含一些信息(sub、tid)的 HttpPOST API 端点。但是没有任何范围,所以即使我也会找到正确的 userprofile STS 的端点我将无法调用它
image
3.基于sample我能够使用 ActionableMessageTokenValidator但结果是无用的:
image
- 显示相同 sub只有(我在 token 中看到)

相关问题:https://github.com/OfficeDev/outlook-actionable-messages-csharp-token-validation/issues/9

最佳答案

我与 Actionable Messages 团队对此进行了调查,这是通过连接器(邮箱/组连接器或 Teams 连接器)接收的可操作消息的限制。

执行操作的用户由 sub 表示声明(sender 与此无关)。它是 already documented用于连接器,sub包含对象 ID,而不是电子邮件地址。

The identity of the user who took the action. For Actionable Messages sent over email, sub would be the email address of the user. For connectors, sub will be the objectID of the user who took the action.



这不打算改变。对于 Outlook,您可以转为通过电子邮件发送可操作的消息,您将收到 sub声明为电子邮件地址。对于 Teams,使用连接器是唯一的选择。

关于sender声明为空:这也是连接器流程的限制。传入的 webhook 会生成一封电子邮件(或 Teams 的聊天消息),但它并不是真正“发送”这些消息。因为它们没有被发送,所以永远不会在邮件上标记发件人。确定发送者的逻辑看到一个空值,所以这就是放入 token 的内容。说明这一点的最简单方法是查看 Outlook 中这些邮件之一的“发件人”字段,您会看到没有
电子邮件地址:

enter image description here

关于websocket - 有没有办法让用户采取行动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53831076/

相关文章:

google-chrome - 如何使用Chrome扩展程序创建Websocket客户端?

Gorilla WebSocket WriteMessage 错误 - Go Lang

websocket - websocket 是否只将数据广播到所有连接的客户端而不是发送到特定客户端?

c# - 如何使用 csharp 向 Microsoft Teams channel 发送简单消息?

Excel 脚本 : getNumberFormat from column A to C

azure - 用于将 Microsoft Flow 与 VNET 中的 Azure SQL 数据库连接的 NSG 和路由详细信息

java - Websocket 聊天实现

c# - Microsoft Teams Bot 在 Teams 中没有响应,但在 Bot 模拟器中工作

c# - IIS 池回收后的 session 引用(并发字典变为空白)

python-3.x - 有没有办法在没有 Azure 的情况下通过 Power Automate 运行 python 脚本?