在 Outlook 和新的 SPFx WebPart 中使用 HTTP Post 的可操作消息

Actionable Messages with HTTP Post in Outlook and new SPFx WebPart

我已经创建了一条可操作消息并在 Office365 中注册了一个提供商,该提供商已获准用于我的组织。我正在通过 Microsoft Flow 发送消息。

该消息包含 HttpPost 个操作,我希望在其中接收具有 HTTP 触发流的响应。

这是可操作消息的 JSON(我删除了 FLOW 网址,@'s 被转义了。):

{
  "@@type": "MessageCard",
  "@@context": "http://schema.org/extensions",
  "originator": "<my_provider_id>",
  "summary": "Klanttevredenheidsonderzoek ",
  "title": "Bent u tevreden over de afhandeling van **melding 92138749247**",
  "text": "Graag horen we of u tevreden bent over deze melding",
  "themeColor": "E81123",
  "sections": [
    {
      "potentialAction": [
        {
          "@@type": "HttpPOST",
          "name": "Slecht!",
          "headers": [{ "Content-Type": "application/json" }],
          "target": "<flowurl>?<>flowurlparameters",
          "body": "Slecht!"
        },
        {
          "@@type": "HttpPOST",
          "name": "Goed!",
          "headers": [{ "Content-Type": "application/json" }],
          "target": "<flowurl>?<>flowurlparameters",
          "body": "Goed"
        }
      ]
    },
    {
      "startGroup": true,
      "title": "**Disclaimer**",
      "text": ". 2018"
    }
  ]
}

我有两个问题:

  1. 如果我邮寄我自己的 O365 帐户,我会收到带有消息的邮件 正确显示。但是,post 按钮无法正常工作, 当我将鼠标悬停在按钮上时,我看到的 link 缺少 URL 参数(这可能是它不起作用的原因)。我能做什么 做错了,还是现在还为时过早?我怎么能够 调试这个?
  2. 在新的 SPFx O365Connectors webpart 中,HTTPPost 操作完全缺失。消息的其余部分显示正确。还不支持 HTTPPost 操作吗?或者他们根本不会得到支持?还是我做的有问题..?

我收到了 Microsoft 员工关于此问题的以下回复:

The reason it fails is because the logic app doesn’t allow sending Authorization header and it responds back 401 Unauthorized. We send Authorization header to identify that the request is from Office 365. The logic app works fine without Authorization header.

I will discuss this with the team and see if we can resolve this kind of scenario, and will update you on the status.

所以目前似乎不支持这种情况。

Microsoft 现在添加了对 Microsoft Flow 从可操作电子邮件中捕获 HTTP Post 操作的方案的支持。关键是将授权 header 显式设置为空字符串。 下面的代码片段使用 http://adaptivecards.io/schemas/adaptive-card.json

处的自适应卡片架构 v1.0
"actions": [
                                        {
                                          "type": "Action.Http",
                                          "title": "Light",
                                          "method": "POST",
                                          "headers": [
                                            {
                                              "name": "Authorization",
                                              "value": ""
                                            }
                                          ],
                                          "url": "<a http triggered Flow URL>",
                                          "body": "{'currentRoom':'room1','currentState':'roomState1','action':null,'exit':null,'object':null,'objectAction':null,'userEmail':'someuser@somedomain.com'}"
                                        }
                                    ]