2

在此处使用 Microsoft Teams 文档并遵循标题为“Office 365 连接器 API 参考”的超链接,该超链接链接到https://dev.outlook.com/Connectors/Reference但重定向到:https ://docs.microsoft.com/en -us/outlook/actionable-messages/card-reference我们最终得到一个标题为“Actionable message card reference”的页面。

这是一个非常有用的文档,列出了我们可以在 JSON 字符串中使用的所有字段,以创建可操作的联系人卡片,以推送到 Office 365 生态系统中的各种 webhook 连接器。

使用https://messagecardplayground.azurewebsites.net/上的 JSON 验证器,我构建并测试了以下内容:

{
   "title":"New Office 365 Group: Success",
   "text":"Performed by: someuser",
   "themeColor":"00e600",
   "sections":[
      {
         "title":"Section Title"
      },
      {
         "facts":[
            {
               "name":"Name",
               "value":"PRJ000001"
            }
         ]
      },
      {
         "potentialAction":[
            {
               "@context":"http://schema.org",
               "@type":"ViewAction",
               "name":"View Log",
               "target":"something"
            }
         ]
      }
   ]
}

这是有效的并且在该站点上正确呈现,但是在尝试将其发送到 Office 365 组邮箱或团队频道时,我收到错误:

Bad payload received by generic incoming webhook.

如果我们像这样采用更简单的 JSON 结构,它适用于 O365 组邮箱和团队频道:

{
   "title":"New Office 365 Group: Success",
   "text":"Performed by: someuser",
   "themeColor":"00e600",
   "potentialAction":[
      {
         "@context":"http://schema.org",
         "@type":"ViewAction",
         "name":"View Log",
         "target":[
            "https://link/to/log"
         ]
      }
   ]
}

似乎文档在服务之前,或者组和团队 webhook 连接器不支持完整的选项列表,也许这只适用于 Outlook?有任何想法吗?

谢谢。

4

2 回答 2

3

现在不支持payload中提到的ViewAction。您应该将其替换为 OpenUri 操作。您可以在我们的文档中找到更多信息:https ://docs.microsoft.com/en-us/outlook/actionable-messages/card-reference

请使用以下有效负载,它应该可以正常工作。

{
"title": "New Office 365 Group: Success",
"text": "Performed by: someuser",
"themeColor": "00e600",
"sections": [{
        "title": "Section Title"
    }, {
        "facts": [{
                "name": "Name",
                "value": "PRJ000001"
            }
        ]
    }, {
        "potentialAction": [
            {
                "@context": "http://schema.org",
                "@type": "OpenUri",
                "name": "View Log",
                "targets": [{
                        "os": "default",
                        "uri": "http://..."
                    }
                ]
            }
        ]
    }
]
}

如果您遇到任何其他问题,请告诉我们。

于 2017-05-19T04:46:45.417 回答
2

这里有几个建议:

  • summary即使文档没有说明,您也应该包含所需的属性。我们会解决的。
  • 尝试用ViewAction一个OpenUri动作替换你的。ViewAction已弃用。虽然ViewAction仍受支持,但我们希望鼓励大家改为使用OpenUri
于 2017-05-19T04:20:29.067 回答