gpt4 book ai didi

microsoft-teams - Microsoft Teams 中卡片的 Http POST

转载 作者:行者123 更新时间:2023-12-04 07:00:17 27 4
gpt4 key购买 nike

我们正在尝试使用 Teams、Flow 和 Assembla 创建审批工作流,但遇到了一些麻烦。

我们已经成功设置了一些部分,但是我们无法从 Teams 中的卡启动 POST 操作。

在团队中,我们可以使用传入的 webhook 连接器成功创建一张卡片,结果是。
enter image description here

这是使用以下来自 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 成功发布并继续审批工作流程。

单击 Team 卡上的按钮时,根本不会通知帖子 url 中的 Flow。不会触发 Flow 上的运行。在团队中非常通用的“提交您的更改时出现问题。请稍后再试。”显示错误。

经过研究,我遇到了 connectors.md文件在 Microsoft Teams github 页面上,并注意到文档中这个可爱的部分

enter image description here

我觉得奇怪的是,在他们下面提到可能不支持 POST 操作的文档继续详细地展示在团队卡片中使用 POST 和 ActionCard 操作的示例。

enter image description here

所以我的问题是, 有什么方法可以使 HttpPOST 操作从 Teams 中的自定义卡工作到 Microsoft Flow POST URL?

谢谢!

Update:

Upon further testing we have determined that HttpPOST actions work with just about any post url we can come up with except Microsoft Flow Request URLs. They are exceptionally long urls so maybe that has something to do with it?

Here's an example Flow request 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

When running teams in a web browser we are able to see the request first posts to a api.teams.skype.com url and returns a generic "ProviderError". Other non-flow urls also do the same but return success.

最佳答案

这对我们来说是一个头疼的问题——正如你所猜测的,这应该有效。 Teams、Flow 和 Outlook 团队今天对此进行了故障排除,并找出了发生了什么。
您要发布到的 URL,https://prod-43.westus.logic.azure.com[...]有一个嵌入的不记名 token (URL 中 sig 参数的值)。当您通过 CURL、Fiddler、Postman 等 POST 到该 URL 时,它会起作用,因为该 token 存在。
但是,当您单击可操作消息中的 HttpPOST 按钮时,Outlook 会在 HTTP header 中添加自己的 JWT token ,这意味着 HTTP POST 具有 sig= URL 中的不记名 token 和 HTTP header 中的 JWT token 。 Flow 检测到这一点并将 HTTP POST 拒绝为无效(虽然我们目前不支持 JWT token ,但我们计划将此情况视为无效以保持向前兼容性)。
这个用例将来会起作用。同时,尝试的一种解决方法是将可操作的消息按钮 POST 到您的端点,例如https://yoursite.com/accepthttps://yoursite.com/deny (尽可能多地验证 JWT)并让这些端点在没有 JWT 的情况下直接 POST 到 Flow。
请让我们知道这是否有效。
顺便说一句,您发现的文本是一个文档错误,此后一直是 fixed :
Excerpt of connectors.md
对困惑感到抱歉。

关于microsoft-teams - Microsoft Teams 中卡片的 Http POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46288116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com