我试图确认我对get_fieldValues().Name
SharePoint 中结果的理解是正确的。
当我使用以下代码时:
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;
}
结果,我得到一个看起来像这样的字符串:
i:0#.f|会员|example@example.org
据我了解,这分为由条/管道分隔的 3 个部分。
我不知道第一部分i:0#.f
是什么,但我没有使用它,所以它不是超级重要的。
第二部分似乎是一个类别或一组用户membership
,我也没有使用它。
第三个似乎是用户的电子邮件地址或登录名example@example.org
。
我的问题是,这第三部分可能不是电子邮件地址吗?对于我的组织来说,这部分似乎始终是一个电子邮件地址。因此,我使用它来查找特定用户的电子邮件地址,并且工作正常。问题是我正在开发的应用程序可能会被其他组织使用,我担心对于其他一些组织,该部分将不包含电子邮件,而是包含其他内容。如果是这种情况,我将检索不是电子邮件地址的内容,并尝试向其发送电子邮件——这将是一个问题,并且会破坏我的代码的某些部分。