Не удалось найти элемент '@ odata.type' в объекте типа 'TeamMemberSettings' - PullRequest
0 голосов
/ 16 октября 2019

Я использую пример из документов , чтобы добавить команду к существующей группе 365.

строка:

            await graphClient.Groups[GroupID].Team
            .Request()
            .PutAsync(team);

Показывает ошибку, которая не делаетсмысл для меня.

System.Private.CoreLib: исключение при выполнении функции: Function1. Microsoft.Graph.Core: Code: InvalidRequest [16.10.2009 19:49:36] Сообщение: не удалось найти элемент '@ odata.type' в объекте типа 'TeamMemberSettings'. Путь 'memberSettings [' @ odata.type ']', строка 1, позиция 66. Не удалось найти элемент '@ odata.type' в объекте типа 'TeamMessagingSettings'. Путь 'messagingSettings [' @ odata.type ']', строка 1, позиция 205. Не удалось найти элемент '@ odata.type' для объекта типа 'TeamFunSettings'. Путь 'funSettings [' @ odata.type ']', строка 1, позиция 329. Не удалось найти элемент '@ odata.type' для объекта типа 'Team'. Путь '[' @ odata.type ']', строка 1, позиция 384.

Я делал это раньше в консольном приложении, и оно работало. Это как-то связано с тем, что это функция Azure или .NET core 2.2?

Спасибо за любую помощь.

Ответы [ 3 ]

1 голос
/ 30 октября 2019

Проблема в том, что мы начали устанавливать odata.type на всех моделях. Тип задан правильно, просто служба не игнорирует значение, как и следовало ожидать. Это проблема службы, которая была обнаружена при изменении в клиентской библиотеке. Обходной путь клиента должен установить для свойства odatatype значение null при создании объектов Teams.

Team newTeam = new Team()
{
    GuestSettings = new TeamGuestSettings
    {
        AllowCreateUpdateChannels = false,
        AllowDeleteChannels = false,
        ODataType = null
    },
    MemberSettings = new TeamMemberSettings
    {
        AllowCreateUpdateChannels = false,
        ODataType = null
    },
    MessagingSettings = new TeamMessagingSettings
    {
        AllowUserEditMessages = true,
        AllowUserDeleteMessages = true,
        ODataType = null
    },
    FunSettings = new TeamFunSettings
    {
        AllowGiphy = true,
        GiphyContentRating = GiphyRatingType.Strict,
        ODataType = null
    },
    ODataType = null
};
0 голосов
/ 24 октября 2019

Версия 7.6.1 из Microsoft.Data.OData на данный момент недоступна.

Install-Package : NU1102: Unable to find package Microsoft.Data.OData with version (>= 7.6.1)
  - Found 36 version(s) in nuget.org [ Nearest version: 5.8.4 ]
0 голосов
/ 17 октября 2019

Добавлен Microsoft.Data.OData в проект и использованы более старые версии

 <ItemGroup>
<PackageReference Include="Microsoft.Data.OData" Version="5.8.4" />
<PackageReference Include="Microsoft.Graph" Version="1.17.0" />
<PackageReference Include="Microsoft.Graph.Auth" Version="1.0.0-preview.1" />
<PackageReference Include="Microsoft.Graph.Core" Version="1.17.0.0" />
<PackageReference Include="Microsoft.Identity.Client" Version="4.3.1.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.29" />

, которые, кажется, заставляют его работать. Интересно, почему это не было установлено как зависимость.

...