Получить отображаемое имя для свойств профиля пользователя
Я пытаюсь показать, какие свойства профиля пользователя отсутствуют для заполнения пользователями. Получить свойства userprofile и userprofile довольно просто:
function getUserPropertiesFromProfile() {
// Get the current client context and PeopleManager instance.
var clientContext = new SP.ClientContext.get_current();
var peopleManager = new SP.UserProfiles.PeopleManager(clientContext);
// Get user profile properties for the current user
userProfileProperties = peopleManager.getMyProperties();
// Load the UserProfilePropertiesForUser object and send the request.
clientContext.load(userProfileProperties);
clientContext.executeQueryAsync(onProfileRequestSuccess, onProfileRequestFail);
}
function onProfileRequestSuccess() {
var propertyValue = userProfileProperties.get_userProfileProperties()["SPS-JobTitle"];
if (propertyValue === undefined) {
// Property is not present in your User Profile Service Application
}
else if (propertyValue === "") {
// Property is empty
}
}
function onProfileRequestFail() {
// Handle failure
}
Но моя проблема в том, что это внутреннее имя, которое я получаю, а не внешнее. Например, "Должность" - это "SPS-JobTitle". Так что я хочу, чтобы, если "SPS-JobTitle" был пустым или не определен, то я хочу написать внешнее имя = "Должность" пользователю.
Это возможно? Я знаю, что это легко в SSOM (пример ProfileSubtypeManager).