我正在尝试通过将Actor从Teams中的卡片传递到HttpPOST动作来解决任务。 因此,一旦用户点击了操作,我就可以使用Inputs获取用户输入,并通过以下方式将其添加到POST操作中:
access_token
但是我想添加一些用户信息(姓名,电子邮件等)。
注释:
1.连接器在包含参与者名称的HttpPOST操作成功响应后将回复发布到卡上(看起来很有希望):
2.连接器将
userprofile
传递到HttpPOST API端点,该端点包含一些信息(sub,tid)。但是没有任何作用域,因此即使我将为STS找到正确的ActionableMessageTokenValidator
端点,也无法调用它
3.基于sample,我可以使用sub
,但结果无济于事:
-仅显示相同的 render: function ( data, type, row ) {
return "<a data-fancybox='gallery' class='btn btn-success' href='http://......./Services/DBShowImage?filename="+ row.filename+"'>Show</a>";
}
(我在令牌中看到了)
相关问题:https://github.com/OfficeDev/outlook-actionable-messages-csharp-token-validation/issues/9
答案 0 :(得分:0)
我已经与Actionable Messages小组进行了调查,这是通过连接器(邮箱/组连接器或Teams连接器)接收到的可操作消息的限制。
执行该操作的用户由sub
声明表示(sender
与之无关)。对于already documented,对于连接器,sub
包含对象ID,而不是电子邮件地址。
执行操作的用户的身份。对于通过电子邮件发送的可操作消息,
sub
将是用户的电子邮件地址。对于连接器,sub
将是执行操作的用户的objectID。
这不是计划更改的地方。对于Outlook,您可以转到通过电子邮件发送可操作的消息,然后您将获得sub
声明作为电子邮件地址。对于团队,唯一的选择是使用连接器。
关于sender
声明为空:这也是连接器流的限制。传入的Webhook会生成电子邮件(或Teams的聊天消息),但实际上并没有“发送”这些消息。由于未发送邮件,因此发件人永远不会在邮件上盖章。确定发件人的逻辑看到一个空值,因此这就是放入令牌中的内容。说明此问题的最简单方法是查看Outlook中的“发件人”字段中的其中一封邮件,您将看到没有
电子邮件地址: