【问题标题】:How to send message to 1:1 chat or to group chat in Microsoft Teams via microsoft graph API C#如何通过 microsoft graph API C# 将消息发送到 1:1 聊天或 Microsoft Teams 中的群聊
【发布时间】:2020-06-16 18:24:02
【问题描述】:

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

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

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);

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

谁能建议我使用 C# 代码/类将消息发送到 1:1 聊天或通过 Microsoft Graph API 在 Microsoft Teams 中进行群聊?

请帮忙。

提前致谢!

【问题讨论】:

  • 支持一对一聊天。您描述中的代码是在 Channel 中发送消息。您共享的文档参考链接用于频道消息。
  • @Abhijit-MSFT 是的,你是对的,但我需要 C# 代码来向 Teams 中的人发送消息。我在 Microsoft Graph 文档中找不到它。
  • 你是说频道吗?如果是 Channel,那么您使用的是您在问题中提到的正确代码。如果您正在寻找其他东西,请向我解释您的情况。
  • 没有。我不是说频道。所以基本上我的场景是使用 C# 中的 Graph API 向 1:1 聊天(直接对人)发布直接消息:) –
  • 非常感谢@Marc LaFleur,因为我在下面发现您的回答非常有用。这节省了我很多时间。 stackoverflow.com/questions/58913955/…

标签: c# microsoft-graph-api microsoft-graph-sdks microsoft-graph-teams


【解决方案1】:

终于,我找到了答案。

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

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

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

实际上,在 C# 代码 sn-p 示例部分下的 Graph API for Sending the message to 1:1 chat 的以下文档中没有更新代码。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 2018-04-07
    相关资源
    最近更新 更多