Desire2Узнайте, как обновить имя пользователя

Позволяет ли API-интерфейс Desire2Learn Valence изменять имя пользователя человека с помощью вызова PUT /.../users/(userId)?

У нас есть случай использования, когда пользователь изменяет допустимое имя, и его имя пользователя (format = Firstname.Lastname) должно быть обновлено в D2L.

Я понимаю, что интеграция SIS-to-D2L использует имя пользователя в качестве одного из двух ключей интеграции (другой - OrgDefinedId), поэтому изменение имени пользователя таким образом завершится неудачей.

Итак, каковы ключи для вызова PUT /users/(userid) Valence, и позволит ли D2L изменить имя пользователя таким образом?

1 ответ

Решение

Когда вы создаете пользователя, пользователь UniqueIdentifier свойство устанавливается в UserName собственность, которую вы передаете в CreateUserData состав. UniqueIdentifier property не подлежит изменению после этой точки через API; Тем не менее UserName свойство - вы можете обновить UserName в записи пользователя D2L LMS. Что касается LMS, то UserId Свойство является единственной частью пользовательской записи, которая зависит от того, является ли она уникальной.

Когда вы меняете UserName свойство, служба имеет основную задачу, которая замечает изменения и распространяет изменения в UniqueIdentfier имущество. В настоящее время, поскольку это распространение происходит отдельно от обновления, действие обновления, выполняемое через API (который возвращает обновленную структуру пользователя), может не отображать UniqueIdentifier синхронно с UserName, Последующая выборка данных этого пользователя (по идентификатору, в противном случае) должна снова синхронизировать два свойства.

Другие вопросы по тегам