我有两个关于用户数据集的问题。
User.WhoAmIUser
{
"Identifier": "<string:D2LID>",
"FirstName": "<string>",
"LastName": "<string>",
"UniqueName": "<string>",
"ProfileIdentifier": "<string:D2LID>"
}User.UserData
{
"OrgId": "<number:D2LID>",
"UserId": "<number:D2LID>",
"FirstName": "<string>",
"MiddleName": "<string>",
"LastName": "<string>",
"UserName": "<string>",
"ExternalEmail": "<string>",
"OrgDefinedId": "<string>",
"UniqueIdentifier": "<string>",
"Activation": "{composite:User.UserActivationData}"
}我尝试过学生和指导员的角色。我可以检索WhoAmI服务,只是不能检索任何其他用户服务。
谢谢。
发布于 2013-06-20 13:39:35
1) UniqueName结构中的User.WhoAmIUser属性将(应该)表示与User.UserData中的UserName属性相同的值:这是LMS中用户的“登录名”。在后端服务中,这两个属性可以单独维护,但对于调用客户端来说,它们应该包含相同的值(如果通过web更改用户记录中的UserName值,然后进行WhoAmI调用,则会在WhoAmI结果中的UniqueName属性中看到该更改)。
2)检索用户的电子邮件地址可能不是一个简单的壮举:UserData记录中的UserData属性应该包含显示在Web中用户记录中的Email字段中的相同值。这是LMS将使用的电子邮件地址,如果它需要发送密码重置消息给用户。
此属性受用户信息隐私角色-权限的约束,一些组织可能会选择严格限制谁可以看到该值。
此外,/d2l/api/lp/{ver}/users/路由本身常常受到某些组织的限制性角色权限的限制。通常,如果您使用一个用户角色进行调用,该用户角色可以访问LMS的web中的用户工具的功能,那么该角色也应该能够访问这个API路由。
如果您没有使用该API调用的权限(而且您可能没有),那么您就不能使用它来查找用户详细信息。
User.User和Enrollment.ClasslistUser结构还包含一个属性,用于存放用户记录中的电子邮件值,如果您可以调用检索这些结构(例如,注册API调用或类列表API调用),那么您可能可以访问那里的电子邮件值,这取决于调用用户拥有的用户信息隐私权限。
这一切的结果是,许多组织中的许多用户将没有从自己的用户记录中检索自己的外部电子邮件地址的权限,因为他们可能没有权限进行检索的调用,而且它不包含在WhoAmIUser结构中。
https://stackoverflow.com/questions/17171700
复制相似问题