Пользователь обновления клиента Microsoft Graph onPremisesExtensionAttributes.extensionAttributeXX

Как обновить onPremisesExtensionAttributes.extensionAttributes8 для пользователя, например, с помощью клиента Graph?

Обратите внимание, что я использую бета-версию (предварительная версия Microsoft.Graph.Beta версии 0.4.0) для графического SDK. Я не хочу использовать версию 1.0 на данный момент из-за некоторых ограничений версии 1.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);

person gtrivedi    schedule 23.05.2019    source источник


Ответы (1)


При установке 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";
person Philippe Signoret    schedule 23.05.2019