1

I need a list of users where the current user is manager of. SharePoint provides the JavaScript function PersonProperties.get_directReports(), the result is a list of login names but I need user IDs to filter a person field in another list.

What would be the most efficient way to get the IDs of direct report users?

2
  • 1
    Note that user ids are unique PER SiteCollection May 29, 2017 at 17:38
  • @elsni, could how you are getting values for this method. I am getting always empty array.
    – Mihir
    Jun 13, 2018 at 16:19

2 Answers 2

1

There is no efficient way. As mentioned by @Danny'365CSI'Engelman, ids are unique per site collection, while you are using user profile services (which is not correlated with a specific site collection) to get direct reports. So technically you'll not get the ids. However, you can query the whole "User Information List" in JS (using REST or CSOM or ...) and keep it as an array. Then once you get all the users from direct reports, compare and find ids, in case the user does not exist in UIL, call SP.Web.ensureUser which will add the user to UIL and return you the SP.User object with ID.

0

We are using following REST call to get the user id by login name.

siteurl/_vti_bin/listdata.svc/UserInformationList?$filter=Account eq 'account name'

The UserInformationList is a hidden list which stores all site users.

2
  • Note that the UIL is only filled on first login, so you might not get all users May 29, 2017 at 17:33
  • Yes. I am assuming the user already visited the site in this case. May 29, 2017 at 17:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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