Это пример в документах по добавлению типичной вкладки «Команды» с помощью Microsoft Graph API:
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"
}
}
Если вам нужна вкладка SharePoint, она говорит: «Для вкладок страницы и списка SharePoint - teamAppId 2a527703-1f6f-4559-a332-d8a7d288cd88. Конфигурация не поддерживается. Если вы хотите настроить вкладку, рассмотрите возможность использования вкладки Веб-сайт. "
Используя библиотеку Graph Graph, довольно просто:
//Add groups
await graphClient.Groups
.Request()
.AddAsync(group);
//Add teams
await graphClient.Me.JoinedTeams
.Request()
.GetAsync();
//Get channels
var channels = await graphClient.Teams[ID].Channels
.Request()
.GetAsync();
Но для добавления вкладок у них нет помощника в библиотеке Graph Client, как и для других действий, показанных выше. Я исхожу из того, что могу добавить вкладку SharePoint, используя библиотеку Graph Graph, и обнаружил:
await graphClient.Teams[teamId].Channels[channelId].Tabs.Request().AddAsync(teamsTabTest);
Однако я не совсем понимаю, как настроить аргумент teamTabTest для соответствия принятого параметра включить вкладку SharePoint. Я передал аргумент:
var teamsTabTest = new TeamsTab
{
DisplayName = "Home",
Id = "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/2a527703-1f6f-4559-a332-d8a7d288cd88"
};
И когда я запустил это, я получил ответ об ошибке: Код: BadRequest Сообщение: в запросе отсутствовала привязка навигации для teamApp.
Как мне настроить объект groupsTabTest, чтобы я мог правильно отправить запрос на вкладку SharePoint?