如何通过 Microsoft Graph API C# 将消息发送到 1:1 聊天或 Microsoft Teams 中的群聊

How to send message to 1:1 chat or to group chat in Microsoft Teams via microsoft graph API C#

我正在使用 C# 代码通过 Microsoft Graph API 将消息发送到 1:1 聊天或 Microsoft Teams 中的群聊,但不幸的是找不到 C# code/classes同样。

实际上,我可以使用以下代码成功将消息发送到团队的频道。

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

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

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

以上代码的参考来自下面link:
https://docs.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-beta&tabs=csharp

任何人都可以建议我使用 C# code/classes 通过 Microsoft Graph API 将消息发送到 1:1 聊天或 Microsoft Teams 中的群聊吗?

请帮忙。

提前致谢!

终于找到答案了

用于向 1:1 聊天或群组聊天发送消息的 Microsoft Graph API 仍处于测试模式。为了调用任何测试版 Microsoft Graph API,我们需要包含 Microsoft.Graph.Beta NuGet package, not the Microsoft.Graph 包。后者仅包含已发布的API(即/v1.0/...)。

将消息发送到1:1聊天群聊的工作代码如下:

await graphClient.Users["{id}"]
                 .Chats["{id}"]
                 .Messages
                 .Request()
                 .AddAsync(chatMessage);

实际上,Graph API 的以下文档中的代码未更新,用于在 C# 代码片段示例部分下将消息发送到 1:1 聊天。

https://docs.microsoft.com/en-us/graph/api/chat-post-messages?view=graph-rest-beta&tabs=csharp#tabgroup_CeZOj-G++Q