Retrieve my personal site url
-
06-10-2020 - |
Pregunta
This code retrieves my property values succesfully except my "PersonalUrl" property. If i cant retrieve it with the PeopleManager object, is their any other options to retrieve the personal url property?
var profilePropertyNames = ["SPS-HireDate", "PreferredName", "PictureURL", "PersonalUrl", "WorkEmail"];
var userProfilePropertiesForUser = new SP.UserProfiles.UserProfilePropertiesForUser(ctx, userAccount, profilePropertyNames);
var userProfileProperties = new SP.UserProfiles.PeopleManager(ctx).getUserProfilePropertiesFor(userProfilePropertiesForUser);
ctx.load(userProfilePropertiesForUser);
ctx.executeQueryAsync(function() {
userProfileProperties[0 1 3 ... etc]..
});
Solución
You have to use getPropertiesFor
var profilePropertyNames = ["SPS-HireDate", "PreferredName", "PictureURL", "WorkEmail"];
var userProfilePropertiesForUser = new SP.UserProfiles.UserProfilePropertiesForUser(ctx, userAccount, profilePropertyNames);
var userProfileProperties = new SP.UserProfiles.PeopleManager(ctx).getUserProfilePropertiesFor(userProfilePropertiesForUser);
var personProperties = new SP.UserProfiles.PeopleManager(ctx).getPropertiesFor(userAccount);
ctx.load(personProperties,'PersonalUrl');
ctx.load(userProfilePropertiesForUser);
ctx.executeQueryAsync(function() {
var mySiteUrl = personProperties.get_personalUrl();
userProfileProperties[0 1 3 ... etc]..
});
Take a look the SP.UserProfiles.PersonProperties object for available properties.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a sharepoint.stackexchange