如何从活动源纯文本通知创建指向自定义选项卡的深层链接
实现纯文本活动源通知跳转至自定义Apps选项卡
首先,SendActivityNotification接口的previewText仅支持PlainText类型,这就是你设置ContentType = BodyType.Html报错的核心原因——API本身不允许预览文本使用HTML格式。
要实现纯文本通知跳转至自定义Apps选项卡,无需在预览文本中嵌入链接,而是通过配置Topic参数指定跳转目标,具体实现步骤如下:
生成自定义选项卡的Teams深层链接
自定义选项卡的标准深层链接格式为:https://teams.microsoft.com/l/entity/{你的应用ID}/{选项卡实体ID}?context={"channelId":"{频道ID}","teamId":"{团队ID}"}将占位符替换为你的应用、选项卡、团队/频道的实际ID,即可生成有效的跳转链接。
配置Topic对象
将Topic的source设为"entityUrl",value设为上面生成的深层链接,这样用户点击通知时会直接跳转至指定的自定义选项卡。完整代码示例
// 构造指向自定义选项卡的Topic var topic = new TeamworkActivityTopic { Source = TeamworkActivityTopicSource.EntityUrl, Value = "https://teams.microsoft.com/l/entity/你的应用ID/选项卡实体ID?context={\"channelId\":\"频道ID\",\"teamId\":\"团队ID\"}" }; // 纯文本预览内容 var previewText = new ItemBody { Content = "点击查看自定义选项卡的最新内容", ContentType = BodyType.Text, }; // 发送活动通知 await GraphClient.Users[userId].Teamwork .SendActivityNotification(topic, "activity-type", null, previewText, templateParameters) .Request() .PostAsync();
通过这种方式,用户收到的是纯文本格式的通知,点击后会直接跳转至你的自定义Apps选项卡,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Luciano Pereira
相关产品推荐
相关产品推荐

