Seguir pessoas usando o modelo de objeto JavaScript no SharePoint
Saiba como trabalhar com os recursos Seguir Pessoas usando o modelo de objeto JavaScript do SharePoint.
Por que usar os seguintes recursos de Pessoas no SharePoint?
No SharePoint, os seguintes recursos de Pessoas ajudam os usuários a se manterem conectados uns com os outros. Por exemplo, quando um usuário segue a alguém, atividades e postagens dessa pessoa mostram no newsfeed do usuário. Usando recursos de pessoas a seguir para focalizar em que as pessoas que se preocupam de usuários, você pode melhorar a relevância de sua solução ou aplicativo. No modelo de objeto JavaScript, as pessoas que você segue são representadas por objetos SocialActor . Para executar tarefas de pessoas a seguir de núcleo do modelo de objeto JavaScript, você deve usar o objeto SocialFollowingManager . Este artigo mostra como usar o modelo de objeto JavaScript para trabalhar com os recursos de pessoas a seguir.
Observação
[!OBSERVAçãO] SocialFollowingManager é a API recomendada a ser usado para acompanhar pessoas e conteúdo. No entanto, o objeto PeopleManager contém funcionalidade adicional para seguintes pessoas, como o método amIFollowedBy e métodos que obtêm o seguinte status de outros usuários.
Pré-requisitos para configurar seu ambiente de desenvolvimento para trabalhar com os seguintes recursos de Pessoas usando o modelo de objeto JavaScript do SharePoint
Para criar a solução de farm que usa o modelo de objeto JavaScript para trabalhar com os recursos de pessoas a seguir, você precisará de:
- SharePoint com Meu Site configurado e com perfis de usuário e sites pessoais criados para o usuário atual e um usuário de destino
- Visual Studio 2012
- Office Developer Tools para Visual Studio 2012
- Permissões de acesso de Controle total para o aplicativo de serviço de perfil de usuário para o usuário conectado
- Permissões de administrador local para o usuário conectado
Criar uma página de solução e os aplicativos do farm no Visual Studio 2012
Visual Studio em Executar como administrador e escolha arquivo, novoprojeto.
Na caixa de diálogo Novo Projeto, escolha .NET Framework 4.5 na lista suspensa na parte superior da caixa de diálogo.
Na lista Modelos , expanda Office/SharePoint, escolha Soluções do SharePoint e escolha o modelo Do SharePoint – Projeto Vazio .
Nomeie o projeto FollowPeopleJSOM e escolha o botão OK .
Na caixa de diálogo Assistente de personalização do SharePoint, selecione implantar como uma solução de farm e, em seguida, escolha o botão Concluir.
No Solution Explorer, abra o menu de atalho para o projeto FollowPeopleJSOM e, em seguida, adicione uma lista do SharePoint "Layouts" mapeado a pasta.
Na pasta Layouts, abra o menu de atalho para a pasta FollowPeopleJSOM e, em seguida, adicione uma nova página de aplicativos do SharePoint denominadaFollowPeople.aspx.
Observação
[!OBSERVAçãO] Os exemplos de código neste artigo defina código personalizado na marcação de página, mas não use a classe code-behind que Visual Studio cria para a página.
Abra o menu de atalho para a página FollowPeople.aspx e escolha Set as Startup Item.
Na marcação do arquivo FollowPeople.aspx, cole o código a seguir entre as marcas "Main
asp:Content
". Este código define controles e referências de script.<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>
Observação
[!OBSERVAçãO] O exemplo "Obter seguidores e pessoas seguidas" não usa o controle de botão ou o controle de digest do formulário, que só é exigido para operações que atualizem o conteúdo do servidor. Um resumo do formulário gera um resumo da mensagem usado para a validação de segurança.
Substitua o comentário entre as
script
marcas pelo exemplo de código de um dos seguintes cenários:Para testar a solução, na barra de menus, escolha Depurar, Iniciar depuração.
Exemplo de código: iniciar ou parar de seguir pessoas usando o modelo de objeto JavaScript do SharePoint
O exemplo de código a seguir torna o início de usuário atual seguindo ou parar seguindo um usuário de destino. Ele mostra como:
- Verifique se o usuário atual está seguindo um usuário de destino usando o método isFollowed .
- Obtenha a contagem de pessoas que o usuário atual está seguindo usando o método getFollowedCount .
- Comece a seguir o usuário de destino usando o método a seguir .
- Pare de seguir o usuário de destino usando o método stopFollowing .
Observação
[!OBSERVAçãO] Cole o seguinte código entre as marcas de script que você adicionou no procedimento criar uma solução de farm e a página do aplicativo . Em seguida, altere o valor de espaço reservado para a variável targetUser antes de executar o código.
// 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());
}
Exemplo de código: obter seguidores e pessoas seguidas usando o modelo de objeto JavaScript do SharePoint
O exemplo de código a seguir obtém as pessoas que o usuário atual está seguindo e obtém as pessoas que são seguidas pelo usuário atual. Ele mostra como:
- Obtenha as pessoas que o usuário atual está seguindo usando o método getFollowed .
- Obtenha as pessoas que estão seguindo o usuário atual usando o método getFollowers e passando 1 para representar tipos de ator de usuário .
- Percorrer os grupos de pessoas e get pessoa URI do site pessoal, de nome de exibição e URI de imagem.
Observação
Cole o código a seguir entre as script
marcas que você adicionou no procedimento Criar uma solução farm e página de aplicativo .
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());
}