I need to pull site user details like (email, display name, phone) from 'User information list' using a 'inner join' on a different list 'SiteOwners' where 'Contact' is a person or group field.
The result object is not returning the details from 'User Information List' though it returns details from 'SiteOwners' list
<script src="/_layouts/15/SP.runtime.js" type="text/javascript"></script><script src="/_layouts/15/SP.js" type="text/javascript"></script><script type='text/javascript'>
'use strict';
//$(document).ready(function() {
function abc() {
var context = SP.ClientContext.get_current();
var web =context.get_web();
var stownrlist = web.get_lists().getByTitle('SiteOwners');
var camlqry = new SP.CamlQuery();
camlqry.set_viewXml = "<View>" +"<Query></Query>" +"<ViewFields>" +"<FieldRef Name='Title'/>" +"<FieldRef Name='Contact'/>" +"<FieldRef Name='UserName'/>" +"<FieldRef Name='UserEMail'/>" +"<FieldRef Name='UserMobilePhone'/>" +"</ViewFields>" +"<ProjectedFields>" +"<Field Name='UserName' Type='Lookup' List='User Information List' ShowField='Name' />" +"<Field Name='UserEMail' Type='Lookup' List='User Information List' ShowField='EMail' />" +"<Field Name='UserMobilePhone' Type='Lookup' List='User Information List' ShowField='MobilePhone' />" +"</ProjectedFields>" +"<Joins>" +"<Join Type='INNER' ListAlias='User Information List'>" +"<Eq>" +"<FieldRef Name='Contact' RefType='Id'/>" +"<FieldRef List='User Information List' Name='ID'/>" +"</Eq>" +"</Join>" +"</Joins>" +"</View>";
debugger;
var stownritems = stownrlist.getItems(camlqry);
context.load(stownritems);//, 'Include(Title,Contact,UserName,UserEMail,UserMobilePhone)');
context.executeQueryAsync(
Function.createDelegate(this, function () {
debugger;
var stownenm = stownritems.getEnumerator();
while (stownenm.moveNext()) {
var userid, loginname,email,name,mobilephone;
if (stownenm.get_current().get_item('Contact') != null) {
userid = stownenm.get_current().get_item('Contact').get_lookupId();
loginname = stownenm.get_current().get_item('Contact').get_lookupValue();
email = stownenm.get_current().get_item('ows_UserEMail');
name = stownenm.get_current().get_item('UserName');
mobilephone = stownenm.get_current().get_item('UserMobilePhone');
}
}
}), function() {alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());});
}
//);
</script>
Any suggestions / help please.Sai