SPGetCurrentUser

Function

$().SPServices.SPGetCurrentUser

Certification

SharePoint 2007: certified SharePoint 2010: certified

Functionality

This utility function, which is also publicly available, returns information about the current user.

How It Works

The SPGetCurrentUser function does an AJAX call to grab /_layouts/userdisp.aspx?Force=True and "scrapes" the values from the page based on the internal field name (aka StaticName).

Note: There is a bug in the versions 2013.01, 2013.02, and 2014.01 where only the relative path ("/") is returned from $().SPServices.SPGetCurrentSite rather than the full path ("http://servername/sitename"). This causes problems in the root site for $().SPServices.SPGetCurrentUser.

Syntax

$().SPServices.SPGetCurrentUser({
  webURL: "",        // Added in 2013.01  
  fieldName: "Name"</span>,
  fieldNames: {},         // Added in v0.7.2 to allow multiple columns  
  debug: false
});

webURL

URL of the target Site Collection. If not specified, the current Web is used.

fieldName

You can specify which value from userdisp.aspx you'd like returned with this option. The default is the user's account (Name in the Field Internal Name column below). You can specify any of the Field Internal Names for option fieldName. The fields listed below are the default out-of-the-box fields. If you’ve got custom fields which are exposed on the userdisp.aspx page, then you should be able to retrieve them with this function as well.

Note that, as of v0.6.1, you can also request the ID of the user by specifying fieldName: "ID".

Field Name Field Internal Name WSS MOSS
Account Name
Name Title
Work e-mail EMail
About me Notes
Picture Picture
Department Department
Job Title JobTitle
SIP Address SipAddress
First name FirstName
Last Name LastName
Work phone WorkPhone
Office Office
User name UserName
Web site WebSite
Responsibilities SPResponsibility

fieldNames

Added in v0.7.2 to allow requesting multiple column values. The column names can be passed in as an array, such as ["ID", "Last Name"]

debug

Setting debug: true indicates that you would like to receive messages if anything obvious is wrong with the function call, like specifying a value which doesn't exist. I call this debug mode.

Examples

var thisUserAccount = $().SPServices.SPGetCurrentUser({
    fieldName: "Name",
    debug: false
});
var thisUserName = $().SPServices.SPGetCurrentUser({
    fieldName: "Title",
    debug: false
});
var thisUserID = $().SPServices.SPGetCurrentUser({
    fieldName: "ID",
    debug: false
});
var thisUsersValues = $().SPServices.SPGetCurrentUser({
    fieldNames: ["ID", "Name", "SIP Address"],
    debug: false
});

Back to top