Пользователь обновления клиента Microsoft Graph onPremisesExtensionAttributes.extensionAttributeXX - PullRequest
0 голосов
/ 23 мая 2019

Как обновить onPremisesExtensionAttributes.extensionAttributes8 для пользователя, использующего, например, клиент Graph?граф SDK.Я не хочу использовать v1.0 на данный момент, из-за некоторых ограничений с v1.0

Я пробовал это, но это не компилируется

            var graphServiceClient = CreateGraphServiceClient();
        //graphServiceClient.BaseUrl = "https://graph.microsoft.com/beta";


        var user = graphServiceClient.Users["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"].Request()
                                                      .Select("id,accountEnabled,mail,OnPremisesExtensionAttributes,userType,displayName,source,externalUserState")
                                                      .GetAsync()
                                                      .Result;            

        User updatedUser = new User()
        {
            OnPremisesExtensionAttributes.ExtensionAttribute8 = "1"
        };

        await graphServiceClient.Users[user.Id].Request().UpdateAsync(updatedUser);

1 Ответ

1 голос
/ 23 мая 2019

При установке updatedUser вы инициализируете новый экземпляр User, но вы забыли также инициализировать новый экземпляр OnPremisesExtensionAttributes, прежде чем пытаться установить значение для ExtensionAttribute8.

Следующий способ будет правильным способом инициализации updatedUser все за один раз:

User updatedUser = new User()
{
    OnPremisesExtensionAttributes = new OnPremisesExtensionAttributes()
    {
        ExtensionAttribute8 = "1"
    }
};

В качестве альтернативы, вы можете сделать то же самое, как это:

User updatedUser = new User();
updatedUser.OnPremisesExtensionAttributes = new OnPremisesExtensionAttributes();
updatedUser.OnPremisesExtensionAttributes.ExtensionAttribute8 = "1";
...