通过 Graph API 向个人聊天发送消息

Jer*_*emy 3 microsoft-teams microsoft-graph-api

我从这里读到,获取发生在团队或频道范围之外的用户团队聊天(一对一聊天对话),您需要使用此请求

GET /users/id/messages
Run Code Online (Sandbox Code Playgroud)

和 Teams 聊天消息的主题是“IM”。

我现在的问题是是否可以通过 Graph API 向此对话发送新消息,并且该消息将显示在 Teams 应用程序上?

我尝试通过图形 API 回复此消息,但回复消息已发送到 Outlook,而不是在 Microsoft Teams 应用程序中。

Pra*_*gam 5

现在可以使用 Microsoft Graph API 将消息发送到个人聊天 (1:1) 或在 Microsoft Teams 中进行群聊。是的,消息将使用 Microsoft Graph API 显示在 Teams 应用程序中。

请参阅以下微软文档链接中的“1:1 和群聊消息”部分:

聊天消息资源类型

此外,下面是使用Post HTTP 方法向您想要的任何对话发送消息的图形 API :

https://graph.microsoft.com/beta/users/ {用户ID} /聊天/ {聊天-ID} /消息

要获取 {user-id} 和 {chat-id},请使用Get HTTP 方法按照以下步骤操作:

  1. 使用以下图形 API 获取登录用户的用户 ID 或其他用户的用户 ID:

    https://graph.microsoft.com/v1.0/me
    https://graph.microsoft.com/v1.0/users

  2. 获取用户的对话/聊天 ID:

    https://graph.microsoft.com/beta/me/chats
    https://graph.microsoft.com/beta/users/ {id}/chats

截至目前,还没有用于回复个人聊天的图形 API,但我们可以使用 Microsoft Graph API 回复任何团队的频道消息。

  • @Anthony,您必须首先通过 Microsoft Graph API 获取用户的 id,然后连接用户的 id 以获得聊天 id,例如 -> "19:" + User1.Id + "_" + User2.Id + "@unq.gbl .spaces” 请注意,“19:”和“@unq.gbl.spaces”是常量,如果您构造上述字符串,您将拥有聊天 ID。如果您没有找到用户的聊天记录,请尝试对用户 ID 进行反之亦然,保持常量相同。这样您就可以找到哪个聊天是针对哪个特定用户的。 (2认同)