Compartilhar via


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

  1. Visual Studio em Executar como administrador e escolha arquivo, novoprojeto.

  2. Na caixa de diálogo Novo Projeto, escolha .NET Framework 4.5 na lista suspensa na parte superior da caixa de diálogo.

  3. Na lista Modelos , expanda Office/SharePoint, escolha Soluções do SharePoint e escolha o modelo Do SharePoint – Projeto Vazio .

  4. Nomeie o projeto FollowPeopleJSOM e escolha o botão OK .

  5. 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.

  6. No Solution Explorer, abra o menu de atalho para o projeto FollowPeopleJSOM e, em seguida, adicione uma lista do SharePoint "Layouts" mapeado a pasta.

  7. 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.

  8. Abra o menu de atalho para a página FollowPeople.aspx e escolha Set as Startup Item.

  9. 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.

  10. Substitua o comentário entre as script marcas pelo exemplo de código de um dos seguintes cenários:

  11. 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());
}

Confira também