Программно создаваемый TeamTab раньше работал, но теперь выдает ошибку после обновления библиотек - PullRequest
2 голосов
/ 17 января 2020

Не могли бы вы мне помочь с тем, что я упускаю из-за получения этой ошибки при программном создании вкладки команды? Код работал до тех пор, пока я не обновил библиотеки графов до более высокого уровня по сравнению с предыдущими.

Code: BadRequest
Message: Value cannot be null.
Parameter name: entity
Inner error:
    AdditionalData:
    request-id: 09211d2b-ed86-4f89-8667-42f749521af1
    date: 1/17/2020 8:41:28 AM
ClientRequestId: 09211d2b-ed86-4f89-8667-42f749521af1

Ниже приведен код, который работал всегда, пока я не обновил пакеты, но теперь выдает ошибки.


            //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);

Также ниже приведены текущие версии библиотек графов, которые я использую.

  <package id="Microsoft.Graph.Auth" version="1.0.0-preview.2" targetFramework="net452" />
  <package id="Microsoft.Graph.Beta" version="0.9.0-preview" targetFramework="net452" />
  <package id="Microsoft.Graph.Core" version="1.18.0" targetFramework="net452" />
  <package id="Microsoft.Identity.Client" version="4.5.1" targetFramework="net452" />
  <package id="System.Security.Principal" version="4.3.0" targetFramework="net452" />
  <package id="System.ValueTuple" version="4.4.0" targetFramework="net452" />

1 Ответ

0 голосов
/ 08 апреля 2020

У меня была такая же проблема, когда я пытался добавить новую вкладку Веб-сайт в канал.

Чтобы это работало, мне пришлось установить ODataType на null в TeamsTabConfiguration. Код должен выглядеть следующим образом:

var tab = await _graphClient.Teams[teamId].Channels[channelId].Tabs.Request().WithMaxRetry(3).AddAsync(
new TeamsTab
{
    DisplayName = TabTitle,
    ODataBind = $"{_teamsFactory.GraphV1Endpoint}/appCatalogs/teamsApps/com.microsoft.teamspace.tab.web",
    Configuration = new TeamsTabConfiguration
    {
        ODataType = null,
        EntityId = null,
        WebsiteUrl = $"{_appUrl}/1",
        ContentUrl = $"{_appUrl}/1",
        RemoveUrl = null
    }
});

Это только обходной путь. На GitHub он помечен как «служебная ошибка» ( выпуск # 598 )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...