【发布时间】:2019-07-02 07:11:31
【问题描述】:
使用 PowerShell 的 Invoke-RestMethod,我已成功调用“https://graph.microsoft.com/beta/teams/{team-id}/channels/{channel-id}/chatThreads”向我想要的团队/频道发布消息一种非常整齐的格式。
我现在正在努力解决的是在同一条消息中@提及用户。我已经按照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}/messages”,但 Microsoft Graph 引用了“@ 987654324@{team-id}/channels/{channel-id}/chatThreads"
当我在 Microsoft Graph 中将 chatThreads 替换为消息时,我收到错误请求错误消息,抱怨内容属性不能为空,但它不为空。
编辑 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"
}
}
}
【问题讨论】:
-
试过了。当我使用 /chatThreads 发出请求时,响应代码是 201,并且消息会发布到相关频道。用户未@提及。当我使用 /messages 发出请求时(根据 MS 文档),响应代码为 400 并返回以下错误:“消息”:“值不能为空。\r\n参数名称:内容”
-
你能在这里分享请求正文吗?
-
请求正文还是请求响应?我用回复更新了我的帖子。如果请求正文,是哪一个?我的还是示例中的那个?
-
请分享我分享的示例链接中的请求正文。
标签: json rest powershell microsoft-graph-api microsoft-teams