【发布时间】:2017-09-18 20:58:24
【问题描述】:
我们正在尝试使用 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 成功发布并继续审批工作流程。
单击团队卡上的按钮时,根本不会通知帖子网址上的流。不会触发 Flow 上的运行。在团队中,“提交更改时出现问题。请稍后再试”。显示错误。
经过研究,我在 Microsoft Teams github 页面上看到了 connectors.md 文件,并注意到文档中这个可爱的部分
我觉得奇怪的是,在他们下面提到可能不支持 POST 操作,文档继续详细地展示了在团队卡片中使用 POST 和 ActionCard 操作的示例。
所以我的问题是,有什么方法可以让 HttpPOST 操作从 Teams 中的自定义卡工作到 Microsoft Flow POST URL?
谢谢!
更新:
经过进一步测试,我们确定 HttpPOST 操作 几乎可以使用我们可以提出的任何帖子网址除了 Microsoft 流请求 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在网络浏览器中运行团队时,我们可以看到请求 第一次发布到 api.teams.skype.com url 并返回一个通用的 “提供者错误”。其他非流 url 也这样做但返回 成功。
【问题讨论】:
-
只是澄清一下,我尝试了示例 URL,但它返回了一个
HTTP 400错误,并显示它需要一个GET并得到一个POST的消息。我认为这与您从 POSTMAN 看到的不同? -
在其他命令中,我假设您的 HTTP 触发器被定义为
POST? -
是的,它通常是 Flow 中的 POST 触发器。我给出的 url 只是为了显示 url 格式的一个例子。我将该特定流程设置为 GET 以进行其他测试。我现在将该 URL 切换回 POST。我们做了一些额外的测试,将同一张卡片发布到 Outlook 显示完全相同的行为。其他 POST url 返回就好了,但流特定的 POST URL 仍然返回相同的错误
标签: microsoft-teams power-automate office365connectors