Sharepoint online siteUserInfoList项的get_fieldValues().Name返回什么

Sharepoint online siteUserInfoList项的get_fieldValues().Name返回什么,sharepoint-online,Sharepoint Online,我试图确认我对SharePoint中的get_fieldValues().Name结果的理解是正确的 当我使用以下代码时: var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name=\'ID\'/>' +'<Value Type=\'Number\'>' + managerId + '&l

我试图确认我对SharePoint中的
get_fieldValues().Name
结果的理解是正确的

当我使用以下代码时:

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name=\'ID\'/>' +'<Value Type=\'Number\'>' + managerId + '</Value></Eq>' +'</Where></Query><RowLimit>1</RowLimit></View>');

var userInfoList = hostweb.get_siteUserInfoList();
var collListItem = userInfoList.getItems(camlQuery);

currentContext.load(collListItem);  
currentContext.executeQueryAsync(onQuerySucceeded,onQueryFailed);

function onQuerySucceeded(sender, args) 
{   
var item = collListItem.itemAt(0);

var userInfo = item.get_fieldValues().Name;
}
var camlQuery=new SP.camlQuery();
camlQuery.set_viewXml(''+'+managerId+'+'1');
var userInfoList=hostweb.get_siteUserInfoList();
var collListItem=userInfoList.getItems(camlQuery);
currentContext.load(collListItem);
currentContext.executeQueryAsync(onQuerySucceed,onQueryFailed);
函数onquerysucceed(发送方,参数)
{   
var item=collListItem.itemAt(0);
var userInfo=item.get_fieldValues().Name;
}
结果,我得到一个如下所示的字符串:

i:0.f成员资格|example@example.org

据我所知,这是分为3个部分由酒吧/管道分开

我不知道第一部分是什么,但我没有利用它,所以它不是非常重要

第二部分似乎是一个类别或一组用户
成员
,我也没有利用它

第三个似乎是用户的电子邮件地址,或者可能是登录名
example@example.org


我的问题是,这第三部分可能不是电子邮件地址吗?对于我的组织来说,这个部分似乎总是一个电子邮件地址。因此,我使用它来查找特定用户的电子邮件地址,它工作正常。问题是我正在开发的应用程序可能会被其他组织使用,我担心对于其他一些组织来说,该部分不会包含电子邮件,而是其他内容。如果是这种情况,我将检索非电子邮件地址的内容,并尝试向其发送电子邮件,这将是一个问题,并破坏我代码的某些部分。

从SharePoint 2010开始,SharePoint支持基于声明的身份验证。 在基于声明的身份验证模式中,帐户名称以以下格式表示:

<IdentityClaim>:0<ClaimType><ClaimValueType><AuthMode>|<OriginalIssuer (optional)>|<ClaimValue>
工具书类

完美!我已经相应地重构了我的代码。现在,它应该可以在其他人的SharePoint环境中正常工作。
var email = item.get_fieldValues().EMail;