Premise
In this post we’ll discuss how in SharePoint Online we can fetch,
We’ll see how we can fetch these values using normal REST API as well as PnP JS.
Solution
Let’s check out all the options.
Get Specific Property from User Profile
REST API
http://<SiteURL>/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='WorkPhone')?@v='i:0%23.f|membership|<UserEmail>'
PnP JS
sp.profiles.getUserProfilePropertyFor('i:0#.f|membership|<UserEmail>', 'WorkPhone')
.then((phone) => {
resolve(phone);
});
});
Response
{
"odata.metadata": "<SiteURL>/_api/$metadata#Edm.String",
"value": "<Phone Number>"
}
Get All User Profile Properties
REST API
http://<SiteURL>/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='i:0%23.f|membership|<UserEmail>'
PnP JS
sp.profiles.getPropertiesFor('i:0#.f|membership|<UserEmail>')
.then((allProperties) => {
resolve(allProperties);
});
});
Response
In response we can get all of the following properties: –
- UserProfile_GUID
- SID
- ADGuid
- AccountName
- FirstName
- SPS-PhoneticFirstName
- LastName
- SPS-PhoneticLastName
- PreferredName
- SPS-PhoneticDisplayName
- WorkPhone
- Department
- Title
- SPS-Department
- Manager
- AboutMe
- PersonalSpace
- PictureURL
- UserName
- QuickLinks
- WebSite
- PublicSiteRedirect
- SPS-JobTitle
- SPS-DataSource
- SPS-MemberOf
- SPS-Dotted-line
- SPS-Peers
- SPS-Responsibility
- SPS-SipAddress
- SPS-MySiteUpgrade
- SPS-DontSuggestList
- SPS-ProxyAddresses
- SPS-HireDate
- SPS-DisplayOrder
- SPS-ClaimID
- SPS-ClaimProviderID
- SPS-LastColleagueAdded
- SPS-OWAUrl
- SPS-ResourceSID
- SPS-ResourceAccountName
- SPS-MasterAccountName
- SPS-UserPrincipalName
- SPS-O15FirstRunExperience
- SPS-PersonalSiteInstantiationState
- SPS-DistinguishedName
- SPS-SourceObjectDN
- SPS-LastKeywordAdded
- SPS-ClaimProviderType
- SPS-SavedAccountName
- SPS-SavedSID
- SPS-ObjectExists
- SPS-PersonalSiteCapabilities
- SPS-PersonalSiteFirstCreationTime
- SPS-PersonalSiteLastCreationTime
- SPS-PersonalSiteNumberOfRetries
- SPS-PersonalSiteFirstCreationError
- SPS-FeedIdentifier
- WorkEmail
- CellPhone
- Fax
- HomePhone
- Office
- SPS-Location
- Assistant
- SPS-PastProjects
- SPS-Skills
- SPS-School
- SPS-Birthday
- SPS-StatusNotes
- SPS-Interests
- SPS-HashTags
- SPS-EmailOptin
- SPS-PrivacyPeople
- SPS-PrivacyActivity
- SPS-PictureTimestamp
- SPS-PicturePlaceholderState
- SPS-PictureExchangeSyncState
- SPS-MUILanguages
- SPS-ContentLanguages
- SPS-TimeZone
- SPS-RegionalSettings-FollowWeb
- SPS-Locale
- SPS-CalendarType
- SPS-AltCalendarType
- SPS-AdjustHijriDays
- SPS-ShowWeeks
- SPS-WorkDays
- SPS-WorkDayStartHour
- SPS-WorkDayEndHour
- SPS-Time24
- SPS-FirstDayOfWeek
- SPS-FirstWeekOfYear
- SPS-RegionalSettings-Initialized
- OfficeGraphEnabled
- SPS-UserType
- SPS-HideFromAddressLists
- SPS-RecipientTypeDetails
- DelveFlags
- PulseMRUPeople
- msOnline-ObjectId
- SPS-PointPublishingUrl
- SPS-TenantInstanceId
- SPS-SharePointHomeExperienceState
- SPS-RefreshToken
- SPS-MultiGeoFlags
- PreferredDataLocation
Plz note that the above list is not fixed and might change in the future as per the addition or, removal of some properties.