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

时间:2018-12-18 10:31:50

标签: websocket microsoft-teams microsoft-flow office365connectors

我正在尝试通过将Actor从Teams中的卡片传递到HttpPOST动作来解决任务。 因此,一旦用户点击了操作,我就可以使用Inputs获取用户输入,并通过以下方式将其添加到POST操作中:

access_token

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

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

注释:
1.连接器在包含参与者名称的HttpPOST操作成功响应后将回复发布到卡上(看起来很有希望): image 2.连接器将userprofile传递到HttpPOST API端点,该端点包含一些信息(sub,tid)。但是没有任何作用域,因此即使我将为STS找到正确的ActionableMessageTokenValidator端点,也无法调用它 image
3.基于sample,我可以使用sub,但结果无济于事:
image
-仅显示相同的 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

1 个答案:

答案 0 :(得分:0)

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

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

执行操作的用户的身份。对于通过电子邮件发送的可操作消息,sub将是用户的电子邮件地址。对于连接器,sub将是执行操作的用户的objectID。

这不是计划更改的地方。对于Outlook,您可以转到通过电子邮件发送可操作的消息,然后您将获得sub声明作为电子邮件地址。对于团队,唯一的选择是使用连接器。

关于sender声明为空:这也是连接器流的限制。传入的Webhook会生成电子邮件(或Teams的聊天消息),但实际上并没有“发送”这些消息。由于未发送邮件,因此发件人永远不会在邮件上盖章。确定发件人的逻辑看到一个空值,因此这就是放入令牌中的内容。说明此问题的最简单方法是查看Outlook中的“发件人”字段中的其中一封邮件,您将看到没有 电子邮件地址:

enter image description here