質問

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]..
                });
役に立ちましたか?

解決

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.

他のヒント

In my user profile the field name looks to be "PersonalSpace" not "PersonalUrl". Maybe try that? enter image description here

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top