gpt4 book ai didi

javascript - 通过 Graph Api 向 Teams 发送聊天/ channel 消息

转载 作者:行者123 更新时间:2023-12-03 01:27:12 25 4
gpt4 key购买 nike

我有一个 SPA,并且我正在尝试通过 - 代表 Teams 中的用户发送消息发布 https://graph.microsoft.com/v1.0/teams/{teamid}/channel/{channelid}/messages

通过相同的。

但我不断收到此错误 -

{

"error": {
"code": "Unauthorized",
"message": "Unauthorized",
"innerError": {
"date": "2020-12-03T06:09:02",
"request-id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"client-request-id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
}
}

}

SPA 是使用 Azure AD 应用程序注册构建的,并且已向应用程序授予以下 API 权限:ChannelMessage.Send(委托(delegate))、Chat.ReadWrite(委托(delegate))、ChatMessage.Send(委托(delegate))。

从 Microsoft Graph 浏览器门户调用时,上述 API 有效。

我还比较了 Graph Explorer 和 My Azure AD 应用程序中 jwt.io 上的访问 token ,并且两者都具有范围 -[ ChannelMessage.Send ] 需要将消息发送到 channel

如果我遗漏了什么或者做错了什么,需要帮助。

最佳答案

使用Send Channel Message Graph API向 channel 发布消息需要 ChannelMessage.Send Group.ReadWrite.All 权限

这里是向 channel 发送消息的代码片段,需要实现authProvider为了传递它 graphClient,我为我的租户测试了它,并且成功地能够在 Channel 中发送消息。 enter image description here下面是代码片段

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var chatMessage = new ChatMessage
{
Body = new ItemBody
{
Content = "Hello World"
}
};

await graphClient.Teams["{TeamId}"].Channels["{ChannelId}"].Messages
.Request()
.AddAsync(chatMessage);

关于javascript - 通过 Graph Api 向 Teams 发送聊天/ channel 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65128918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com