2013-05-28 3 views
1

Я работаю над процессом изменения пароля пользователя в D2L через API. Я использую PHP.Получить идентификатор пользователя для изменения пароля пользователя

Мне нужно нажать на изменение пароля пользователя на D2L из другой системы. Например, когда пользователь меняет свой пароль на нашем портале, я хочу сделать звонок для обновления пароля в D2L через API. Глядя за документы, и мне нужно пользователям «USERID», чтобы сделать вызов PUT как таковой:

PUT system/d2l/api/lp/1.0/users/UserID/password 
{"Password": "HelloWorld5"} 

Как я могу получить этот UserID? Я могу сделать вызов WhoAmI, но это допустимо только для зарегистрированного пользователя. Я не вижу api, что я могу вызвать учетную запись пользователя по UserName и получить их UserID.

  • Помните, что во время этого изменения пароля пользователь не будет входить в D2L, и на портале нет сохраненного в нем UserID. Поэтому мне нужно получить идентификатор пользователя, а затем сделать вызов смены пароля.

ответ

0

Чтобы получить идентификатор пользователя для пользователя на основе имени пользователя, используйте следующий вызов:

/d2l/api/lp/{VERSION}/users/

Он может взять имя пользователя в качестве аргумента (имени пользователя), иначе он будет возвращать полный (но выгружаемый) список пользователей. Обратите внимание, что для этого вызова требуется достаточно (администратор/и т. Д.).

+1

Обратите внимание, что вызов API пользователей может действительно искать пользовательскую запись на основе 'OrgDefinedId' или' UserName'; однако, если вы используете вызов таким образом, то он ищет только точные соответствия (так что вы должны предоставить имя пользователя-идентификатора или OrgDefinedId). Также обратите внимание, что если вы пытаетесь найти пользователя OrgDefinedId, возвращаемая структура представляет собой массив пользовательских записей (поскольку OrgDefinedId не обязательно является уникальным свойством для некоторых организаций); если вы пытаетесь найти пользователя по UserName, возвращаемая структура (если соответствует) будет единой структурой UserData. –

+1

Доступ к информации о пользователях с помощью системы GET/d2l/api/lp/1.0/users/<><- Я могу заставить D2L UserID работать здесь, чтобы отменить пользовательскую информацию. Если я попробую создать уникальное имя пользователя или OrgDefinedID, тогда появится ошибка 404. ПРИМЕР: пользователь в нашей системе имеет идентификатор пользователя 3900. Я могу вытащить данные и обновить пароль с помощью UserID, но если я попробую выполнить две другие ошибки 404. «UserId»: 3900, «UserName»: «hefnerj», «OrgDefinedId»: «910292538» –

+0

Чтобы использовать имя пользователя как параметр для этого вызова, выполните GET в '/d2l/api/lp/1.0/ users /? userName = '(параметры запроса идут после маршрута, начиная с пар символов« = значение », разделенных амперсандами.) –

Смежные вопросы