ejemplo javascript sharepoint sharepoint-2013

getelementbyid javascript ejemplo



SharePoint 2013 obtiene usuario actual usando JavaScript (9)

Aquí está el código que me funcionó:

<script src="/SiteAssets/jquery.SPServices-2013.02a.js" type="text/javascript"></script> <script src="/SiteAssets/jquery.js" type="text/javascript"></script> <script type="text/javascript"> 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 loginName = data.d.Title; alert(loginName); } function onError(error) { alert("error"); } </script>

¿Cómo obtener el nombre de usuario actual usando JavaScript en el elemento web Script Editor?


Encontré una forma mucho más fácil, ni siquiera usa SP.UserProfiles.js. No sé si se aplica al caso particular de cada uno, pero definitivamente vale la pena compartirlo.

//assume we have a client context called context. var web = context.get_web(); var user = web.get_currentUser(); //must load this to access info. context.load(user); context.executeQueryAsync(function(){ alert("User is: " + user.get_title()); //there is also id, email, so this is pretty useful. }, function(){alert(":(");});

De todos modos, gracias a sus respuestas, tuve que mezclarme un poco con UserProfiles, aunque no es realmente necesario para mi caso.


Para obtener información de usuario actual:

jQuery.ajax({ url: _spPageContextInfo.webServerRelativeUrl + "/_api/web/currentuser", type: "GET", headers: { "Accept": "application/json;odata=verbose" } }).done(function( data ){ console.log( data ); console.log( data.d.Title ); }).fail(function(){ console.log( failed ); });


Puede usar el JSOM de SharePoint para obtener la información de la cuenta de su usuario actual. Este código (cuando se agrega como fragmento de código en el elemento web Script Editor) solo mostrará la pantalla del usuario y el nombre de la cuenta en el navegador. gotAccount agregar cualquier otra cosa en gotAccount para obtener el nombre en el formato que desee.

<script type="text/javascript" src="/_layouts/15/SP.js"></script> <script type="text/javascript" src="/_layouts/15/SP.UserProfiles.js"></script> <script type="text/javascript"> var personProperties; SP.SOD.executeOrDelayUntilScriptLoaded(getCurrentUser, ''SP.UserProfiles.js''); function getCurrentUser() { var clientContext = new SP.ClientContext.get_current(); personProperties = new SP.UserProfiles.PeopleManager(clientContext).getMyProperties(); clientContext.load(personProperties); clientContext.executeQueryAsync(gotAccount, requestFailed); } function gotAccount(sender, args) { alert("Display Name: "+ personProperties.get_displayName() + ", Account Name: " + personProperties.get_accountName()); } function requestFailed(sender, args) { alert(''Cannot get user account information: '' + args.get_message()); } </script>

Consulte la documentación de SP.UserProfiles.PersonProperties en MSDN para obtener más información.


Puedes usar javascript para lograr eso como este:

function loadConstants() { this.clientContext = new SP.ClientContext.get_current(); this.clientContext = new SP.ClientContext.get_current(); this.oWeb = clientContext.get_web(); currentUser = this.oWeb.get_currentUser(); this.clientContext.load(currentUser); completefunc:this.clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded), Function.createDelegate(this,this.onQueryFailed)); } //U must set a timeout to recivie the exactly user u want: function onQuerySucceeded(sender, args) { window.setTimeout("ttt();",1000); } function onQueryFailed(sender, args) { console.log(args.get_message()); } //By using a proper timeout, u can get current user : function ttt(){ var clientContext = new SP.ClientContext.get_current(); var groupCollection = clientContext.get_web().get_siteGroups(); visitorsGroup = groupCollection.getByName(''OLAP Portal Members''); t=this.currentUser .get_loginName().toLowerCase(); console.log (''this.currentUser .get_loginName() : ''+ t); }


Puedes usar la siguiente función si conoces el ID del usuario:

function getUser(id){ var returnValue; jQuery.ajax({ url: "http://YourSite/_api/Web/GetUserById(" + id + ")", type: "GET", headers: { "Accept": "application/json;odata=verbose" }, success: function(data) { var dataResults = data.d; alert(dataResults.Title); } }); }

o puedes intentar

var listURL = _spPageContextInfo.webAbsoluteUrl + "/_api/web/currentuser";


Qué tal esto:

$.getJSON(_spPageContextInfo.webServerRelativeUrl + "/_api/web/currentuser") .done(function(data){ console.log(data.Title); }) .fail(function() { console.log("Failed")});


Si estás en una página de SharePoint solo usa:

_spPageContextInfo.userId;


prueba este código ...

function GetCurrentUsers() { var context = new SP.ClientContext.get_current(); this.website = context.get_web(); var currentUser = website.get_currentUser(); context.load(currentUser); context.executeQueryAsync(Function.createDelegate(this, onQuerySucceeded), Function.createDelegate(this, onQueryFailed)); function onQuerySucceeded() { var currentUsers = currentUser.get_title(); document.getElementById("txtIssued").innerHTML = currentUsers; } function onQueryFailed(sender, args) { alert(''request failed '' + args.get_message() + ''/n'' + args.get_stackTrace()); }

}