I generally needs to go to google each time to get current login User details for Office 365. Here is post for general idea how you can get the details in
Office 365:
Approach 1 - Use Graph API
If you want to use Graph api, follow below steps,
- go to below URL
https://developer.microsoft.com/en-us/graph/graph-explorer
- Sign in with your O365 details.
- Once you are logged in, click on "my profile" and it will get all your details.
How to use this in code, I will write another blog for same.
Approach 2 - Use browser Console
Some of the properties are available using "_spPageContextInfo". Like user display name, user email address and user login name.
- user display name - _spPageContextInfo.userDisplayName
- user email - _spPageContextInfo.userEmail
- user login name - _spPageContextInfo.userLoginName
- user Id - _spPageContextInfo.userId
Approach 3 - Use Rest API (Ajax request)
To get other details you need to use below ajax request:
function getCurrUsrImg(){
var siteurl = _spPageContextInfo.webAbsoluteUrl;
Var usrId = _spPageContextInfo.userId;
var userURL = siteurl + "/_api/web/SiteUserInfoList/Items('"+usrId+"')";
$.ajax({
url: userURL,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
async: true,
success: function (data) {
getCurrUserIMGSuccess(data.d);
},
error: function (data) {
console.log("Error: "+ data);
}
});
}
function getCurrUserIMGSuccess(res){
//console.log("llll");
var uHTMLIMG = "";
if(res.Picture != null){
uHTMLIMG = "<img src='"+res.Picture["Url"]+"'>";
}
$('#divCuserimg').html("");
$('#divCuserimg').html(uHTMLIMG);
}
You can get below list of fields with this call:
- Id
- ContentTypeId
- Title (full name - love thakker)
- Name (domain name - i:0#.f|membership|love.thakker)
- EMail
- MobilePhone
- SipAddress
- Deleted (true / false)
- Picture ( look up - expand with description and URL)
- Department
- JobTitle
- FirstName
- LastName
- WorkPhone
- UserName
- GUID
- Modified
- Created
- AuthorId
- EditorId
Approach 4 - Use People Manager api (Ajax request)
If you want even more details than this then you can use below service call
$.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/SP.UserProfiles.PeopleManager/GetMyProperties",
headers: { Accept: "application/json;odata=verbose" },
success: function (data) {
try {
//Get properties from user profile Json response
userDisplayName = data.d.DisplayName;
AccountName = data.d.AccountName;
var properties = data.d.UserProfileProperties.results;
for (var i = 0; i < properties.length; i++) {
var property = properties[i];
if (property.Key == "Office") {
location = property.Value;
}
}
} catch (err2) {
console.log('error');
}
},
error: function (jQxhr, errorCode, errorThrown) {
alert(errorThrown);
}
});
}
Below is list of columns that you will get when you use this:
- AccountName
- DisplayName
- Email
- ExtendedManagers
- ExtendedReports
- Peers
- PersonalSiteHostUrl (-my.sharepoint.com)
- PersonalUrl (my.sharepoint.com/personal/love_thakker)
- PictureUrl
- Title
- UserProfileProperties
- 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