我们正在尝试使用Teams,Flow和Assembla创建批准工作流程,并且遇到了一些麻烦。
我们已成功设置了一些部分但是我们无法从团队中的卡片发起POST操作。
在团队中,我们可以使用传入的webhook连接器成功创建一张卡片。
这是使用Flow
中的POST操作的以下JSON主体创建的{
"@@type": "MessageCard",
"@@context": "http://schema.org/extensions",
"summary": "This is the summary property",
"themeColor": "f46b42",
"sections": [
{
"startGroup": true,
"title": "**Pending Review**",
"activityTitle": "Ticket Title",
"activitySubtitle": "Requested by: ",
"facts": [
{ "name": "Date submitted:", "value": "06/27/2017, 2:44 PM" },
{ "name": "Details:",
"value": "This ticket is ready for review." }
]
},
{
"potentialAction": [
{
"@@type": "HttpPOST",
"name": "Approve",
"target": "ANOTHER-POST-URL-IS-HERE"
},
{
"@@type": "HttpPOST",
"name": "Deny",
"target": "ANOTHER-POST-URL-IS-HERE"
}
]
}
]
}
我们有另一个Flow url作为卡上两个按钮的目标。要测试此网址,我们可以通过POSTMAN成功发布并继续审批工作流程。
当点击团队卡上的按钮时,邮件网址上的流程根本不会被通知。不会触发Flow上的运行。在团队中非常通用“提交更改时出现问题。请在一分钟后重试。”显示错误。
在研究之后,我浏览了Microsoft Teams github页面上的connectors.md文件,并注意到文档中这个可爱的部分
我觉得奇怪的是,在他们下面提到POST操作可能不受支持,文档的篇幅很长,以显示在团队卡中使用POST和ActionCard操作的示例。
所以我的问题是,有没有办法让HttpPOST操作从团队中的自定义卡工作到Microsoft Flow POST URL?
谢谢!
更新:
经过进一步测试,我们确定了HttpPOST动作 我们可以使用来处理任何帖子网址,除了 Microsoft Flow请求URL。他们是特别长的网址,所以也许 那与它有关吗?
以下是Flow请求网址的示例。
https://prod-43.westus.logic.azure.com:443/workflows/f86b928acd3d4ecab849f677974f7816/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=ZBxr5GFKQhMp4JXWGmec_L6aqgcaqvCOKUWOf2li-xQ
在网络浏览器中运行团队时,我们可以看到请求 首先发布到api.teams.skype.com网址并返回通用 “ProviderError”。其他非流动网址也会做同样但返回 成功。
答案 0 :(得分:6)
这对我们来说是一个令人头疼的问题 - 正如你所推测的那样,这应该是有效的。今天,Teams,Flow和Outlook团队对此进行了问题排查,并了解了发生的情况。
您要发布到的网址,https://prod-43.westus.logic.azure.com[...]
具有嵌入式承载令牌(网址中sig
参数的值)。当您通过CURL,Fiddler,Postman等发布到该URL时,它会起作用,因为该令牌存在。
但是,当您单击可操作消息中的HttpPOST按钮时,Outlook会在HTTP标头中添加自己的JWT标记,这意味着HTTP POST具有两个一个sig=
不记名标记在URL和HTTP标头中的JWT标记。 Flow检测到这一点并拒绝HTTP POST为无效(我们目前不支持JWT令牌,我们计划,并将此案例视为无效以保持向前兼容性)。
此用例将在以后使用。与此同时,尝试的一种解决方法是将可操作的消息按钮POST到您的端点,例如https://yoursite.com/accept
和https://yoursite.com/deny
(尽可能多地验证JWT)并将这些端点直接POST到Flow而不使用JWT。
如果有效,请告知我们。
BTW,您找到的文字是一个文档错误,此后一直是fixed:
很抱歉这个混乱。