使用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"
}
}
}
答案 0 :(得分:0)
这里是使用GraphAPI的example到@mention。你可以试一下。
答案 1 :(得分:0)
您需要在消息中包括类型为“提及”的实体,文本消息中应为每个提及的实体包括<at>username</at>
。