我正在研究 Microsoft Teams 和图形 API 的可能性,并想知道是否能够通过图形 API 创建和配置选项卡。
我已经看到团队处于图形 API 测试版中,但找不到有关以编程方式创建或配置选项卡的任何信息。
谢谢!
我正在研究 Microsoft Teams 和图形 API 的可能性,并想知道是否能够通过图形 API 创建和配置选项卡。
我已经看到团队处于图形 API 测试版中,但找不到有关以编程方式创建或配置选项卡的任何信息。
谢谢!
2021 年 1 月:现在可以做到这一点,并记录在Graph API - Add tab to channel
POST https://graph.microsoft.com/v1.0/teams/{id}/channels/{id}/tabs
{
"displayName": "My Contoso Tab",
"teamsApp@odata.bind" : "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/06805b9e-77e3-4b93-ac81-525eb87513b8",
"configuration": {
"entityId": "2DCA2E6C7A10415CAF6B8AB6661B3154",
"contentUrl": "https://www.contoso.com/Orders/2DCA2E6C7A10415CAF6B8AB6661B3154/tabView",
"websiteUrl": "https://www.contoso.com/Orders/2DCA2E6C7A10415CAF6B8AB6661B3154",
"removeUrl": "https://www.contoso.com/Orders/2DCA2E6C7A10415CAF6B8AB6661B3154/uninstallTab"
}
}
目前,不存在这样的功能。我建议将此请求添加到Microsoft Teams UserVoice。
您可以按如下所述以编程方式执行此操作。希望这可以帮助
//Creates Tab object for Dashboard
TeamsTab teamsDashboardTab = new TeamsTab()
{
DisplayName ="My Dashboard",
TeamsAppId = AppId,
Configuration = new TeamsTabConfiguration
{
EntityId = AppId,
ContentUrl = TargetServer + project.Id,
WebsiteUrl = TargetServer + project.Id
}
};
var teamsTab = await _graphClient.Teams[teamId].Channels[channelId].Tabs.Request().AddAsync(teamsDashboardTab);
我在Magnus Sandtorv 的 team.rocks 上的一篇不错的博客文章中发现了一种可能性。
它没有以任何方式记录在图形 API 中,并且在图形资源管理器中不可见,但基本上你所做的就是对图形 beta 端点进行 POST,如下所示:
POST https://graph.microsoft.com/beta/teams/<TEAMID>/channels/<CHANNELID>/tabs
Request body:
{
"name": "Example",
"teamsAppId": "com.microsoft.teamspace.tab.web",
"configuration": {
"entityId": "<ID>",
"contentUrl": "https://example.com",
"websiteUrl": "https://example.com",
"removeUrl": ""
}
}
我自己仍在寻找 Teams-App-ID 列表以及 entityId 应该是什么样子的确切定义。现在我只使用一些数字,但签入 Teams 似乎应该是某种 GUID。
经过几天的研究和尝试/错误,我发现:“entityID”没有任何意义(https://docs.microsoft.com/de-de/graph/teams-configuring-builtin-tabs#word- excel-powerpoint-and-pdf-tabs是胡说八道)您甚至可以将其留空。
此外,示例中的 contentURL 也不起作用,因为它需要不转义。