【问题标题】:microsoft teams get conversation link微软团队获取对话链接
【发布时间】:2022-02-10 22:36:31
【问题描述】:

我正在使用使用 nodejs 的 Microsoft 团队集成。在 Teams 客户端中,您可以轻松复制对话的链接,这可用于随时导航到特定对话。

参考截图:https://www.dropbox.com/s/fog3ojddcb6mdis/screen%20shot%202021-02-10%20at%202.44.31%20pm.png?dl=0

有没有办法在创建对话时在 botframework 中获取此链接?我看到有用于群聊等的深层链接 API,需要提供用户列表。

但我有兴趣获取客户端上显示的对话链接。

这个没用https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links

我在 nodejs 中开始对话时得到的活动对象是:

{
  "localTimestamp": "2021-02-13T05:42:25.313Z",
  "timestamp": "2021-02-13T05:42:25.313Z",
  "type": "message",
  "locale": "en-US",
  "from": {
    "name": "Stacy",
    "id": "29:1a-Xb7uPrMwF2XqjMEHCC7ytV2xb2VUCqTA-n_s-k5ZyMCTKIL-ku2XkgbE167D_5ZbmVaqQxJGIQ13vypSqu-A",
    "aadObjectId": "718ab805-850c-43ec-8d4e-4af0c543df75"
  },
  "serviceUrl": "https://smba.trafficmanager.net/amer/",
  "conversation": {
    "isGroup": true,
    "conversationType": "channel",
    "id": "19:a0a0088174a644cb91406f4d8f79d888@thread.tacv2;messageid=1613194945273",
    "tenantId": "04e934f3-0866-4a6d-b07c-a4737e8f9865"
  },
  "localTimezone": "America/Los_Angeles",
  "recipient": {
    "name": "MyBot",
    "id": "28:a835cf1d-83a8-5ae9-845a-23a68a1df442"
  },
  "id": "1613194445273",
  "channelData": {
    "channel": {
      "id": "19:a0a0088174a644cb91459f4d8f79d888@thread.tacv2"
    },
    "tenant": {
      "id": "04e930f3-0866-4a6d-c07c-a4737e8f9865"
    },
    "team": {
      "id": "19:774d4103fe51420db1437130378b196e@thread.tacv2"
    },
    "teamsChannelId": "19:a0a0088174a644cb91409f5d8f79d888@thread.tacv2",
    "teamsTeamId": "19:774d4103fe51420db1437190478b196e@thread.tacv2"
  },
  "attachments": [
    {
      "contentType": "text/html",
      "content": "<div><div><span itemscope=\"\" itemtype=\"http://schema.skype.com/Mention\" itemid=\"0\">MyBot</span> opty&nbsp;</div>\n</div>"
    }
  ],
  "textFormat": "plain",
  "channelId": "msteams",
  "entities": [
    {
      "text": "<at>MyBot</at>",
      "mentioned": {
        "id": "28:a835cf1d-83a8-4ae9-845a-23a68a1df432",
        "name": "MyBot"
      },
      "type": "mention"
    },
    {
      "country": "US",
      "platform": "Mac",
      "timezone": "America/Los_Angeles",
      "locale": "en-US",
      "type": "clientInfo"
    }
  ],
  "text": "opty"
}

【问题讨论】:

    标签: node.js botframework microsoft-teams


    【解决方案1】:

    您可以使用Get Chat Graph API

    POSThttps://graph.microsoft.com/beta/me/chats

    这些权限需要在委派级别授予应用程序 Chat.ReadBasic, Chat.Read, Chat.ReadWrite

    您将能够看到chatType/Topic,基于您可以获取chatId并将其传递给Get Message in Chat, 所以最后你可以使用深层链接并使用创建深层链接进行聊天 https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links#generating-a-deep-link-to-a-chat

    注意:在群聊中创建特定消息的深层链接时,您应该有群聊ID和消息ID。您可以在 Bot 活动中获取消息 ID,并在以后使用它来创建深层链接。

    【讨论】:

    • 在扩展 TeamsActivityHandler 类的 nodejs 中创建对话时怎么样。这里 onMessage 获取所有消息。此时可以做些什么来生成 URL 吗?
    • 那个时候你需要让群聊id可以捕获消息id并使用深度链接
    • 希望这有帮助,您可以接受答案,以便对其他人也有帮助
    • 一定要先试一试
    • 我已经用我在 nodejs 中获得的活动对象更新了我的问题。你能告诉我聊天 API 需要哪些部分吗?我还需要从不在这里的聊天 API 获得什么信息?
    【解决方案2】:

    对于想知道如何对现有群聊进行深度链接的任何人,您需要拥有 chatId。 网址如下:

    https://teams.microsoft.com/l/chat/{chatId}/0?tenantId={tenantId}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      相关资源
      最近更新 更多