Как подписываться на пользователей, используя объектную модель JavaScript в SharePoint
Узнайте, как применять возможности подписки на пользователей с помощью объектной модели JavaScript для SharePoint.
Зачем использовать следующие функции Люди в SharePoint?
В SharePoint функции Люди помогают пользователям оставаться на связи друг с другом. Например когда кто-то подписан пользователь, публикации и действия этого лица отображаются в канал новостей пользователя. С помощью функции следующие сотрудники сосредоточиться на пользователей, которые важны пользователей, можно улучшить релевантности приложений или решений. В объектной модели JavaScript люди, на которых вы подписаны, представлены объектами SocialActor . Для выполнения основных задач следующие сотрудники в объектной модели JavaScript, используйте объект SocialFollowingManager . В этой статье показано, как использовать объектную модель JavaScript для работы с функциями следующие сотрудники.
Примечание.
[!Примечание] SocialFollowingManager рекомендуется использовать для подписки на людей и контент. Тем не менее объект PeopleManager содержит дополнительные функции для следующих пользователей, таких как метод amIFollowedBy и методы, которые получить следующие состояния другим пользователям.
Предварительные требования для настройки среды разработки для работы со следующими функциями Люди с помощью объектной модели JavaScript для SharePoint
Чтобы создать решение фермы, которая использует объектную модель JavaScript для работы с функциями следующие сотрудники, то необходимо:
- SharePoint с настроенным личным сайтом и профилями пользователей и личными сайтами, созданными для текущего пользователя и целевого пользователя
- Visual Studio 2012
- Инструменты разработчика Office для Visual Studio 2012
- Полный доступ к приложению-службе профилей пользователей для пользователя, вошедшего в систему
- Разрешения локального администратора для пользователя, вошедшего в систему
Создайте страницу фермы решения и приложения в Visual Studio 2012
Запустите Visual Studio от имени администратора и выберите файл, Создать, проект.
В раскрывающемся списке в верхней части диалогового окна Новый проект выберите пункт .NET Framework 4.5.
В списке Шаблоны разверните узел Office/SharePoint, выберите Решения SharePoint, а затем выберите шаблон SharePoint — пустой проект .
Присвойте проекту имя FollowPeopleJSOM и нажмите кнопку ОК.
В диалоговом окне Мастер настройки SharePoint выберите Развернуть как решение фермы и затем нажмите кнопку Готово.
В Обозревателе решений откройте контекстное меню для проекта FollowPeopleJSOM и добавьте SharePoint "Макеты" сопоставленная папка.
В папке Layouts откройте контекстное меню для папки FollowPeopleJSOM и добавьте новую страницу приложения SharePoint с именемFollowPeople.aspx.
Примечание.
[!Примечание] Примеры кода в этой статье определение пользовательского кода в разметке страницы, но не используйте класс фонового кода, Visual Studio создает для этой страницы.
Откройте контекстное меню для страницы FollowPeople.aspx и нажмите кнопку Set as Startup Item.
В разметке файла FollowPeople.aspx вставьте следующий код между тегами Main
asp:Content
. Этот код определяет элементы управления и ссылки на сценарии.<span id="followResults"></span><br/><br /> <button id="sendRequest" type="button"></button><br/> <span id="message" style="color: #FF0000;"></span> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script> <SharePoint:ScriptLink name="SP.js" runat="server" ondemand="false" localizable="false" loadafterui="true" /> <SharePoint:ScriptLink name="SP.UserProfiles.js" runat="server" ondemand="false" localizable="false" loadafterui="true" /> <SharePoint:FormDigest id="FormDigest" runat="server"/> <script type="text/javascript"> // Replace this comment with the code for your scenario. </script>
Примечание.
[!Примечание] В примере «Получить последователи и пользователей» не использует элемент управления button или управления дайджест формы, который является только необходимые для операций, которые обновления содержимого сервера. Дайджест формы создает дайджест сообщения, используемый для проверки подлинности.
Замените комментарий между
script
тегами примером кода из одного из следующих сценариев:Тестирование решения, в строке меню выберите Отладка, Начать отладку.
Пример кода: запуск или остановка подписки на пользователей с помощью объектной модели JavaScript для SharePoint
В следующем примере кода делает текущего пользователя запустить следующие или остановить после конечного пользователя. В нем показано, как:
- Проверьте, следует ли текущий пользователь за целевым пользователем с помощью метода isFollowed .
- Получите число пользователей, за которыми следит текущий пользователь, с помощью метода getFollowedCount .
- Начните следовать за целевым пользователем с помощью следующего метода.
- Остановите подписку на целевого пользователя с помощью метода stopFollowing .
Примечание.
[!Примечание] Вставьте следующий код в тегах script, которые добавлены в процедуре создать решение фермы и страницы приложения . Измените значение заполнитель для переменной targetUser до выполнения этого кода.
// Replace the placeholder value with the account name of the target user.
var targetUser = 'domain\\userName';
var clientContext;
var followingManager;
var actorInfo;
var isFollowed;
var followedCount;
// Ensure that the SP.UserProfiles.js file is loaded before running your code.
$(document).ready(function () {
SP.SOD.executeOrDelayUntilScriptLoaded(getFollowingStatus, 'SP.UserProfiles.js');
});
// Get the Following status of the current user.
function getFollowingStatus() {
// Get the current client context.
clientContext = SP.ClientContext.get_current();
// Get the SocialFeedManager instance.
followingManager = new SP.Social.SocialFollowingManager(clientContext);
// Create a SocialActorInfo object to represent the target user.
actorInfo = new SP.Social.SocialActorInfo();
actorInfo.set_accountName(targetUser);
// Find out whether the current user is following the target user.
isFollowed = followingManager.isFollowed(actorInfo);
followedCount = followingManager.getFollowedCount(1);
// Get the information from the server.
clientContext.executeQueryAsync(showFollowingStatus, requestFailed)
}
// Show the Following status of the current user.
function showFollowingStatus() {
var results = '';
results += 'Is the current user following the target user? ' + isFollowed.get_value();
results += '<br/>Total count of followed people: ' + followedCount.get_value();
$('#followResults').html(results);
// Initialize the button for this example.
$('#sendRequest').click(
function () {
$('#message').empty();
toggleFollowingStatus();
});
$('#sendRequest').text('Toggle following status');
}
// Follow or stop following the target user.
function toggleFollowingStatus() {
if (isFollowed.get_value() === false) {
followingManager.follow(actorInfo);
}
else if (isFollowed.get_value() === true) {
followingManager.stopFollowing(actorInfo);
}
clientContext.executeQueryAsync(getFollowingStatus, requestFailed);
}
// Failure callback.
function requestFailed(sender, args) {
$('#message').html('Error: ' + args.get_message());
}
Пример кода: получение подписчиков и последующих пользователей с помощью объектной модели JavaScript для SharePoint
В следующем примере кода получает людей, текущий пользователь отслеживание и получает пользователей, которые следуют текущего пользователя. В нем показано, как:
- Получите пользователей, на которых следит текущий пользователь, с помощью метода getFollowed .
- Получение пользователей, которые следят за текущим пользователем, с помощью метода getFollowers и передачи 1 для представления типов субъектов user .
- Выполните итерацию по группам людей или get отображения имени, личного сайта URI пользователя, а также рисунок URI.
Примечание.
Вставьте следующий код между script
тегами, которые вы добавили в процедуре Создание решения фермы и страницы приложения .
var followed;
var followers;
// Ensure that the SP.UserProfiles.js file is loaded before running your code.
$(document).ready(function () {
SP.SOD.executeOrDelayUntilScriptLoaded(getFollowedAndFollowers, 'SP.UserProfiles.js');
// Hide the button for this example.
$('#sendRequest').hide();
});
// Get the Following status of the current user.
function getFollowedAndFollowers() {
// Get the current client context.
var clientContext = SP.ClientContext.get_current();
// Get the SocialFeedManager instance.
var followingManager = new SP.Social.SocialFollowingManager(clientContext);
// Get followed people and followers.
followers = followingManager.getFollowers();
followed = followingManager.getFollowed(1);
// Send the request to the server.
clientContext.executeQueryAsync(showFollowedAndFollowers, requestFailed)
}
// Show the Following status of the current user.
function showFollowedAndFollowers() {
var results = 'The current user is following ' + followed.length + ' people: <br/>';
for (var i = 0; i < followed.length; i++) {
var user = followed[i];
var name = user.get_name();
var personalSiteUri = user.get_personalSiteUri();
var pictureUri = user.get_imageUri();
results += '<br/>' + name + '<br/>' + personalSiteUri + '<br/>' + pictureUri + '<br/>';
}
results += '<br/>The current user is followed by ' + followers.length + ' people: <br/>';
for (var i = 0; i < followers.length; i++) {
var user = followers[i];
var name = user.get_name();
var personalSiteUri = user.get_personalSiteUri();
var pictureUri = user.get_imageUri();
results += '<br/>' + name + '<br/>' + personalSiteUri + '<br/>' + pictureUri + '<br/>';
}
$('#followResults').html(results);
}
// Failure callback.
function requestFailed(sender, args) {
$('#message').html('Error: ' + args.get_message());
}