Ser*_* G. 7 websocket office365connectors microsoft-teams microsoft-flow
我正试图通过将演员传递给团队中的卡片中的HttpPOST动作来解决任务.因此,一旦用户点击了操作,我就可以使用输入来获取用户输入并以这种方式将其添加到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}}"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但我想添加一些用户信息(名称,电子邮件,等等).
附注:
1.连接器在包含演员名称的HttpPOST操作成功响应后将答复发布到卡上(因此看起来很有希望):
2.连接器传递access_token给HttpPOST API端点,该端点包含一些信息(sub,tid).但是没有任何范围,所以即使我发现userprofileSTS 的正确端点我也无法调用它

3.基于样本我能够使用ActionableMessageTokenValidator但结果没用:

- sub只显示相同(我在令牌中看到)
相关问题:https://github.com/OfficeDev/outlook-actionable-messages-csharp-token-validation/issues/9
我与可操作消息团队对此进行了调查,这是通过连接器(邮箱/组连接器或团队连接器)接收的可操作消息的限制。
执行该操作的用户由sub声明表示(sender与此无关)。据记录,对于连接器,sub包含对象 ID,而不是电子邮件地址。
执行操作的用户的身份。对于通过电子邮件发送的可操作消息,
sub将是用户的电子邮件地址。对于连接器,sub将是执行操作的用户的 objectID。
这不打算改变。对于 Outlook,您可以转而通过电子邮件发送可操作的消息,并且您将收到sub电子邮件地址形式的声明。对于 Teams,使用连接器是唯一的选择。
关于sender声明为空:这也是连接器流程的限制。传入的 Webhook 会生成电子邮件(或 Teams 的聊天消息),但它并不是真正“发送”这些消息。因为它们没有被发送,所以发件人永远不会被标记在邮件上。确定发送者的逻辑看到一个空值,因此这就是放入令牌中的内容。说明这一点的最简单方法是查看 Outlook 中的“发件人”字段中的以下邮件之一,您会发现其中没有电子邮件地址:
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |