Обновить метку конфиденциальности для группы office365 с помощью api графика - PullRequest
1 голос
/ 09 июля 2020

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

Я ссылаюсь на эту ссылку (https://docs.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels-teams-groups-sites?view=o365-worldwide), где я недавно видел, что Microsoft выпустила предварительную версию c этой функции метки конфиденциальности, которая может применяться к группам или командам. В моем клиенте включена функция чувствительности.

enter image description here

Below is the code which I am using for updating label. I am using latest version of Microsoft.Graph package from nuget.

MSGraph.GraphServiceClient graphClient = GetAuthenticatedClient();   
string grpId = ""; // irrelevant not shown here how group id is acquired
var groupToUpdate = new Group
{
       AssignedLabels = new List()
       {
             new AssignedLabel
             {
                LabelId = "480dd7e5-2378-47bc-a023-511ad6a967ce"                                           
             }
        }
};     
graphClient.Groups[grpId].Request().UpdateAsync(groupToUpdate).Wait();

The error I receive is

enter image description here

and full stacktrace

введите описание изображения здесь

Может ли кто-нибудь пролить свет на то, что мне здесь не хватает?

1 Ответ

0 голосов
/ 10 июля 2020

Я с трудом могу сказать, что это исключение NullReferenceException.

Я тестировал его как в Microsoft Graph Explorer, так и в коде, и оба они отлично работают с моей стороны.

Итак, для устранения неполадок, Вы можете протестировать его в Microsoft Graph Explorer . Если возникает такая же проблема, значит, в вашем регионе что-то не так со службой Microsoft Graph. Просто дождитесь ремонта.

Если он работает нормально в Graph explorer, но по-прежнему не работает в коде, вы можете получить фрагменты кода из Graph explorer и протестировать его в своем коде.

введите описание изображения здесь

Кстати, вот мой код для справки (для удобства я использую поставщик имени пользователя и пароля).

        IPublicClientApplication publicClientApplication = PublicClientApplicationBuilder
        .Create(clientId)
        .WithTenantId(tenantID)
        .Build();

        string[] scopes = new string[] { "https://graph.microsoft.com/.default" };

        UsernamePasswordProvider authProvider = new UsernamePasswordProvider(publicClientApplication, scopes);

        GraphServiceClient graphClient = new GraphServiceClient(authProvider);

        var str = "{my password here}";
        var password = new SecureString();
        foreach (char c in str) password.AppendChar(c);

        User me = await graphClient.Me.Request()
                        .WithUsernamePassword("{my user name here}", password)
                        .GetAsync();

        var group = new Group
        {
            AssignedLabels = new List<AssignedLabel>()
            {
                new AssignedLabel
                {
                    LabelId = "38feb82c-de40-4a15-b706-5faa1202e103"
                }
            }
        };
        string grpId = "45e095a6-5c43-4832-b82c-6aa586176d31";
        graphClient.Groups[grpId].Request().UpdateAsync(group).Wait();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...