首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检索经过身份验证的用户电子邮件

检索经过身份验证的用户电子邮件
EN

Stack Overflow用户
提问于 2013-06-18 14:36:12
回答 1查看 161关注 0票数 1

我有两个关于用户数据集的问题。

  1. UniqueName在WhoAmI中与UserName在UserData中的值相同吗?

User.WhoAmIUser

代码语言:javascript
运行
复制
{
"Identifier": "<string:D2LID>",
"FirstName": "<string>",
"LastName": "<string>",
"UniqueName": "<string>",
"ProfileIdentifier": "<string:D2LID>"
}

User.UserData

代码语言:javascript
运行
复制
{
"OrgId": "<number:D2LID>",
"UserId": "<number:D2LID>",
"FirstName": "<string>",
"MiddleName": "<string>",
"LastName": "<string>",
"UserName": "<string>",
"ExternalEmail": "<string>",
"OrgDefinedId": "<string>",
"UniqueIdentifier": "<string>",
"Activation": "{composite:User.UserActivationData}"
}
  1. 如何检索当前通过身份验证的用户电子邮件地址?我试着连接到不同用户的API,但都返回“未授权”。即使是"/d2l/api/lp/(D2LVERSION: version)/user/(D2LID: userId)“,我的userId授权为我自己抛出未授权。

我尝试过学生和指导员的角色。我可以检索WhoAmI服务,只是不能检索任何其他用户服务。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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.UserEnrollment.ClasslistUser结构还包含一个属性,用于存放用户记录中的电子邮件值,如果您可以调用检索这些结构(例如,注册API调用或类列表API调用),那么您可能可以访问那里的电子邮件值,这取决于调用用户拥有的用户信息隐私权限。

这一切的结果是,许多组织中的许多用户将没有从自己的用户记录中检索自己的外部电子邮件地址的权限,因为他们可能没有权限进行检索的调用,而且它不包含在WhoAmIUser结构中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17171700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档