You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何识别MS Teams扩展的发起团队/会话来源?

获取Teams Extension打开的团队/会话信息

当你的Angular应用作为Task Module从Teams Extension打开时,可通过以下方式获取关联的团队或会话信息:

1. 借助Teams JS SDK获取上下文

首先在Angular项目中安装并引入Teams JavaScript SDK,通过SDK的getContext方法直接获取上下文数据:

  • 安装SDK:
npm install @microsoft/teams-js
  • 在Angular组件中实现逻辑:
import * as microsoftTeams from "@microsoft/teams-js";

ngOnInit(): void {
  // 初始化Teams SDK
  microsoftTeams.initialize();
  
  // 获取上下文信息
  microsoftTeams.getContext((context) => {
    // 提取关键信息
    const teamId = context.teamId;       // 团队ID
    const teamName = context.teamName;   // 团队名称
    const channelId = context.channelId; // 频道ID
    const channelName = context.channelName; // 频道名称
    const chatId = context.chatId;       // 会话ID(聊天场景)
    
    // 根据业务需求使用这些数据
    console.log("当前团队ID:", teamId);
    console.log("当前频道:", channelName);
  });
}

2. 区分团队与聊天场景

通过上下文字段可以判断Extension的打开场景:

  • 若teamId存在有效值,说明是从团队频道打开
  • 若teamId为undefined但chatId存在,说明是从一对一聊天或群聊会话打开
    示例判断逻辑:
if (context.teamId) {
  console.log("从团队频道打开");
} else if (context.chatId) {
  console.log("从聊天会话打开");
}

3. 确认应用配置

确保Teams应用清单(manifest.json)中已声明必要权限(如Team.ReadBasic.All、Channel.ReadBasic.All),默认配置下SDK即可正常获取上下文数据,无需额外的Task Module特殊配置。

内容的提问来源于stack exchange,提问作者GMAC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:02:05