通过 Microsoft Graph API 发送自适应卡片 - 获取提交操作时出错

Posted

技术标签:

【中文标题】通过 Microsoft Graph API 发送自适应卡片 - 获取提交操作时出错【英文标题】:Send an adaptive card through Microsoft Graph API - Error when getting Submit Action 【发布时间】:2022-01-01 16:04:34 【问题描述】:

我可以使用下面的 JSON 发送按钮和超链接,但是每当我单击按钮时都会出错。

API 网址 - https://graph.microsoft.com/v1.0/chats/chatId/messages JSON 请求:

    "body": 
        "contentType": "html",
        "content": "<attachment id=\"74d20c7f34aa4a7fb74e2b30004247c5\"></attachment>"
    ,
    "attachments": [
        
            "id": "74d20c7f34aa4a7fb74e2b30004247c5",
            "contentType": "application/vnd.microsoft.card.thumbnail",
            "contentUrl": null,
            "content": "\r\n  \"title\": \"This is an example of posting a card\",\r\n  \"subtitle\": \"<h3>This is the subtitle</h3>\",\r\n  \"text\": \"Here is some body text. <br>\\r\\nAnd a <a href=\\\"http://microsoft.com/\\\">hyperlink</a>. <br>\\r\\nAnd below that is some buttons:\",\r\n  \"buttons\": [\r\n    \r\n      \"type\": \"messageBack\",\r\n      \"title\": \"Login to FakeBot\",\r\n      \"text\": \"login\",\r\n      \"displayText\": \"login\",\r\n      \"value\": \"login\"\r\n    \r\n  ]\r\n",
        
    ]
```

【问题讨论】:

通过图形API处理按钮事件似乎不可行。如果你想处理按钮事件,那么你可以通过机器人发送消息/卡片。 我无法在我身边进行测试,但根据我的搜索,应该可以通过 n http 请求发送带有按钮的卡片。详情可参考this graph api。 是的,您可以使用 http 请求发送带有操作按钮的卡片。但是除了 Action.OpenUrl 之外的按钮操作在使用委派权限时不会在这里起作用。 @Prasad-MSFT - 是的,我能够发送包含按钮的不同类型的卡片,但只有 Action.Url 有效。它通过机器人工作,但我们的用例是使用 Graph API 并将用户 bak 执行的操作获取到我们的服务。 @TinyWang - 我使用的是相同的示例,但是当用户单击按钮时会引发错误。 【参考方案1】:

添加作为可见性的答案:

通过图形 API 处理按钮事件似乎不可行。如果你想处理按钮事件,那么你可以通过机器人发送消息/卡片。 您可以使用 HTTP 请求发送带有操作按钮的卡片。但此处不支持 Action.OpenUrl 以外的按钮操作。

【讨论】:

以上是关于通过 Microsoft Graph API 发送自适应卡片 - 获取提交操作时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何发送 Microsoft Graph 上传会话的最终字节?

获取 Microsoft Graph API 的有效访问令牌

Microsoft graph api预订-与onlinemeeting集成

通过 Rest Api 订阅 Microsoft Graph Api Webhook 不再有效

MS Graph API订阅邮件发送

Microsoft Graph API - 如何通过 API 向特定用户授予对我的收件箱的访问权限