How to Get the Current Logged in User and Display Name Using SharePoint 2013 REST API

Introduction

This article explores with the REST API a quite simple and straightforward way to use a User ID to get the user's Title and Email for SharePoint 2013 and apps for SharePoint.

Use /_api/web/getuserbyid(ID) to get the user field in the response data, we have an “AuthorId” to get the user's Title, Email and so on.

API

Step 1: Navigate to your SharePoint 2013 site and create a Wiki Page or a Web Parts page.

Step 2: The process to add your JavaScript code is quite straightforward:

Edit the page, go to the “Insert” tab in the Ribbon and click the “Web Part” option. In the “Web Parts” picker area, go to the “Media and Content” category, select the “Script Editor” Web Part and press the "Add button".

Step 3: Once the Web Part is inserted into the page, you will see an "EDIT SNIPPET" link click. You can insert the HTML and/or JavaScript code into the dialog.
 
JavaScript code 
 

    var userid = _spPageContextInfo.userId;

    var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";

    var requestHeaders = { "accept": "application/json;odata=verbose" };

    $.ajax({

        url: requestUri,

        contentType: "application/json;odata=verbose",

        headers: requestHeaders,

        success: onSuccess,

        error: onError

    });

    function onSuccess(data, request) {

        var Logg = data.d;

 

        //get login name

        var loginName = Logg.LoginName.split('|')[1];

        alert(loginName);

        //get display name

        alert(Logg.Title);

    }

    function onError(error) {

        alert("error");

    } 

In the code above, we'll get the author id from the list. By passing the author id into the GetUserBuId() method, it will return the user in raw format like "I:O#.f|xxxx|[email protected]". We can get the login name by splitting the output.

output