我们正在尝试使用 Teams、Flow 和 Assembla 创建审批工作流,但遇到了一些麻烦。
我们成功设置了一些部分,但是我们无法从 Teams 中的卡片启动 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 作为卡片上两个按钮的目标。为了测试这个 url,我们能够通过 POSTMAN 成功发布并继续审批工作流程。
单击团队卡上的按钮时,根本不会通知帖子 url 上的流。不会触发 Flow 上的运行。在团队中,“提交更改时出现问题。请稍后再试”。显示错误。
经过研究,我在 Microsoft Teams github 页面上浏览了connector.md文件,并注意到文档中这个可爱的部分
对我来说很奇怪的是,在他们下面提到可能不支持 POST 操作,文档继续详细地展示了在团队卡片中使用 POST 和 ActionCard 操作的示例。
所以我的问题是,有没有办法让 HttpPOST 操作从 Teams 中的自定义卡工作到 Microsoft Flow POST URL?
谢谢!
更新:
经过进一步的测试,我们确定 HttpPOST 操作几乎适用于我们可以提出的任何帖子 URL,但 Microsoft Flow Request URL 除外。它们是非常长的网址,所以也许这与它有关?
这是一个流请求 URL 示例。
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
在 Web 浏览器中运行团队时,我们能够看到请求首先发布到 api.teams.skype.com url 并返回一个通用的“ProviderError”。其他非流 url 也这样做,但返回成功。