如何通过Microsoft Graph API将新增TeamsTab设为General频道首个默认标签
实现方案
有可直接落地的实现方案,核心是借助Microsoft Graph中TeamsTab资源的SortOrderIndex属性控制标签排序:
该属性为字符串格式的数值,值越小标签在频道的排序优先级越高,将其设置为"0"即可让你新增的标签成为General频道的首个默认标签。
修改后完整代码
var channels = await graphClient.Teams[groupID].Channels.Request().Filter("displayName eq 'General'").GetAsync(); var teamsTab = new TeamsTab { DisplayName = "Project KickOff", // 新增此行控制排序,值设为0即可排在最前 SortOrderIndex = "0", Configuration = new TeamsTabConfiguration { ContentUrl = $"https://{domain}/main.aspx?id={project.ProjectKickOff}", WebsiteUrl = $"https://{domain}/main.aspx?id={project.ProjectKickOff}" }, AdditionalData = new Dictionary<string, object>() { {"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/com.microsoft.teamspace.tab.web"} } }; TeamsTab tab = await graphClient.Teams[groupID].Channels[channels[0].Id].Tabs.Request().AddAsync(teamsTab);
注意事项
- 若General频道原有其他标签,新增标签时指定
SortOrderIndex = "0"会直接插入到所有标签的最前面 - 若需要调整已有标签的排序,可调用标签更新接口修改对应标签的
SortOrderIndex值 - 若多个标签设置了相同的
SortOrderIndex,Teams会按照标签的创建时间先后排序
内容的提问来源于stack exchange,提问作者Ofer Gal
相关产品推荐
相关产品推荐

