具有Microsoft Graph API的Microsoft Teams中的@Mention用户不会标记该用户。我想念什么?

时间:2019-07-02 07:11:31

标签: json rest powershell microsoft-graph microsoft-teams

使用PowerShell的Invoke-RestMethod,我已经能够成功调用“ https://graph.microsoft.com/beta/teams/ {team-id} / channels / {channel-id} / chatThreads”,将消息发布到所需的Team /以一种非常整齐的格式播放频道。

我现在正在努力的是在同一封邮件中@提及用户。我遵循了https://myteamsday.com/2019/03/05/sending-message-with-atmention-onto-a-channel-using-graphapi/

上的简短教程

现在我已经在请求的正文中添加了提及部分,并带有用户的ID和提及的ID。

我拨打电话后,会发布消息,但只会显示内容属性中显示的文本。没有链接/提及到实际用户。

{
    "rootMessage": {
        "body": {
            "contentType": "html",
            "content": "Hello, World! <at id=\"0\">Jack Black</at>"
        },
        "mentions": [ {
            "id": 0,
            "mentionText": "Jack Black",
            "mentioned": {
                "id": "ac5e5x81-39Dd-4748-beTa-b5cd6t93ba67",
                "displayName": "Jack Black",
                "userIdentityType": "aadUser"
            }
        }
        ]
    }
}

这是我在本教程中注意到的一件事,该人引用了“ https://graph.microsoft.com/beta/teams/ {team-id} / channels / {channel-id} / 消息”,但是Microsoft Graph引用了“ https://graph.microsoft.com/beta/teams/ {team-id} / channels / {channel-id} / 聊天线程

当我用Microsoft Graph中的消息替换chatThreads时,我收到一条Bad Request错误消息,抱怨content属性不能为null,但不是null。

编辑1: 在图形浏览器上使用 https://graph.microsoft.com/beta/teams/ {team-id} / channels / {channel-id} / messages

{
    "error": {
        "code": "BadRequest",
        "message": "Value cannot be null.\r\nParameter name: Content",
        "innerError": {
            "request-id": "f0d4fed8-7726-4338-8a68-9685a690eab5",
            "date": "2019-07-02T12:46:14"
        }
    }
}

2 个答案:

答案 0 :(得分:0)

这里是使用GraphAPI的example到@mention。你可以试一下。

答案 1 :(得分:0)

您需要在消息中包括类型为“提及”的实体,文本消息中应为每个提及的实体包括<at>username</at>