1

I have a PeoplePicker that I want to use for an email destination. There is no problem entering a user and having it resolve, but the only info I can retrieve from the picker is display name. I expect to get the AutoFillKey (where I can get the user's login name), EntityData for more properties, etc. What I get is a barebones object:

{
  AutoFillDisplayText: "Last, First",
  DisplayText: "Last, First",
  EntityType: "User",
  IsResolved: True,
  Resolved: True
}

Do I need to configure the picker a certain way to get all the values?

My config is:

var schema = {};
schema["PrincipalAccountType"] = "User";//,DL,SecGroup,SPGroup';
schema["SearchPrincipalSource"] = 15;
schema["ResolvePrincipalSource"] = 15;
schema["AllowMultipleValues"] = false;
schema["MaximumEntitySuggestions"] = 50;
SPClientPeoplePicker_InitStandaloneControlWrapper(pickerDOM, null, schema);

Update 7/21/17

I think my real issue is populating the PeoplePicker from a user I retrieve from a custom list. If the end user picks a person, I can retrieve the full user info object. If I retrieve a person from a person field in a list, it doesn't retrieve the rest of the fields, it only stores the info I give it.

So, my question should really be - how do I get a list item that includes a person field so I can have the PeoplePicker populate completely? Is there a way to specify the person in the picker and trigger a "resolve" method that looks up the rest of the info and binds it to the picker?

  • It looks like you're trying to create your own PeoplePicker. You can have a look at some extended code about it on my Gist: gist.github.com/Aymkdn/5925efc9f4fecccc40612c6a5db7efc9 ... By just looking at what you have shared here, I don't see what could be wrong. But try to look at the Gist and maybe you'll see something that you're missing. – AymKdn Jul 19 '17 at 13:33
1

The following JavaScript will retrieve complete user details.

var peoplePickerId = "supervisorPeoplePicker";
var peoplePicker = SPClientPeoplePicker.SPClientPeoplePickerDict[peoplePickerId + "_TopSpan"];
var users = peoplePicker.GetAllUserInfo();
if(users.length > 0) {
    console.log("loginName:" + users[0].Key);
}

enter image description here

  • That's what I expect to get. Instead, I get only what I posted in the question. – StandingDisk Jul 18 '17 at 14:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.