You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

基于Teams SDK开发应用:如何通过深度链接在Teams内创建无预选用户的自定义文本分享草稿?

在Teams应用内实现带自定义文本的分享功能(无需预先选择用户)

我太懂你现在的困扰了——之前找到的两种方法要么只适配外部网页,要么得提前指定用户,完全踩不到你的需求点。其实Teams JS SDK里藏着个专门解决这个场景的方法:shareDeepLink,它是Teams应用内原生支持的分享能力,正好能满足你「点击按钮生成带自定义文本的分享草稿,且不用预先选用户」的需求。

具体实现方案

1. 先确保引入Teams JS SDK

不管你是用CDN还是npm包,先把SDK正确引入到你的应用里:

<!-- CDN引入方式(推荐稳定版) -->
<script src="https://res.cdn.office.net/teams-js/2.0.0/js/MicrosoftTeams.min.js"></script>

在你的分享按钮点击事件里,调用这个方法并配置参数,核心就是通过message字段设置预填的分享文本:

// 初始化Teams SDK(必须在应用加载时执行一次)
microsoftTeams.initialize();

// 给分享按钮绑定点击事件
document.getElementById('custom-share-btn').addEventListener('click', () => {
  microsoftTeams.shareDeepLink({
    // 可选:标记你要分享的应用内资源ID(用于后续跟踪)
    subEntityId: "your-unique-content-id",
    // 可选:分享卡片上显示的资源名称
    subEntityLabel: "我要分享的内容",
    // 可选:如果需要分享外部链接,填在这里
    subEntityWebUrl: "https://your-app-domain.com/target-content",
    // 关键:预设的分享草稿文本,用户打开界面就能看到
    message: "这是我从XX应用分享的内容:快来看看这个实用资源!"
  }, (isSuccess) => {
    if (isSuccess) {
      console.log("分享界面已成功弹出");
    } else {
      console.error("唤起分享界面失败,请检查SDK初始化状态");
    }
  });
});

为什么这个方案适配你的需求?

  • 纯应用内生效:这是Teams官方为应用内场景设计的API,完美适配桌面端、移动端、网页端Teams里的内嵌应用,不会像网页版Share to Teams那样失效。
  • 自定义文本草稿message参数直接帮你把预设文本填到分享输入框里,用户可以直接发送或修改,不用手动输入。
  • 无需预先选用户:调用方法后会弹出Teams原生的分享选择界面,用户可以自由选择要发送的聊天对象、频道或团队,完全符合你的要求。

小提醒

  • 一定要先执行microsoftTeams.initialize()再调用任何SDK方法,否则会触发权限或初始化错误。
  • 如果需要跟踪用户从分享链接进入应用的行为,可以通过subEntityId来标记资源,后续在应用启动时获取该参数做对应处理。

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

火山引擎 最新活动