Seguir documentos, sites e marcas usando o serviço de REST no SharePoint

Crie aplicativos hospedados no SharePoint que usam o serviço de REST para acompanhar o conteúdo (documentos, sites e marcas) e para obter o conteúdo seguido.

Como usar o serviço de REST do SharePoint para seguir conteúdo?

Os usuários do SharePoint podem seguir documentos, sites e marcas para obter atualizações sobre os itens nos seus news feeds e abrir rapidamente os sites e documentos seguidos. Você pode usar a API de REST do SharePoint em seu aplicativo ou solução para começar a seguir conteúdo, parar de seguir conteúdo e obter o conteúdo seguido em nome do usuário atual.

Os seguintes recursos REST são a API principal para conteúdo seguintes tarefas:

  • SocialRestFollowingManager fornece métodos para gerenciar a lista de um usuário de atores visitados.

  • SocialActor representa um documento, site ou marca que o servidor retorna em resposta a uma solicitação do cliente.

  • SocialActorInfo Especifica um documento, site ou marca em solicitações de cliente para o servidor.

  • SocialActorType e SocialActorTypes especificam os tipos de conteúdo em solicitações de cliente para o servidor.

Para executar tarefas seguinte conteúdo usando a API REST, você envia HTTP GET e POST de solicitações HTTP para o serviço REST. Do ponto de extremidade do REST URIs para tarefas seguinte conteúdo começam com o recurso de SocialRestFollowingManager ( <siteUri>/_api/social.following) e terminam com um dos seguintes recursos:

  • follow para iniciar a acompanhar um documento, um site ou uma marca

  • stopfollowing para deixar de seguir a um documento, site ou marca

  • isfollowed para descobrir se o usuário está seguindo um documento específico, site ou marca

  • my/followed obter documentos seguidos, sites e marcas

  • my/followedcount para obter a contagem de documentos seguidos, sites e marcas

Observação

Você também pode usar esses pontos de extremidade para tarefas de pessoas a seguir, mas os recursos followers e suggestions disponíveis no suporte somente SocialRestFollowingManager, seguindo pessoas, não o conteúdo. Para obter mais informações sobre como você pode usar SocialRestFollowingManager, confira Seguir conteúdo no SharePoint e Seguir pessoas no SharePoint.

Pré-requisitos para a criação de um aplicativo hospedado no SharePoint que gerencia o conteúdo que seguem usando o serviço de REST de SharePoint

Este artigo pressupõe que você crie o Suplemento do SharePoint usando Napa em um Office 365 Site do desenvolvedor. Se você estiver usando esse ambiente de desenvolvimento, já atendeu aos pré-requisitos.

Observação

Vá para Configurar um ambiente de desenvolvimento para suplementos do SharePoint no Office 365 para se inscrever em um Site de Desenvolvedor e começar a usar o Napa.

Se você não estiver usando Napa em um Office 365 Site do desenvolvedor, você precisará atender aos seguintes pré-requisitos antes de implantar o Suplemento do SharePoint:

  • Um ambiente de desenvolvimento SharePoint que esteja configurado para isolamento de aplicativo. Se você estiver desenvolvendo remotamente, o servidor deve suportar sideloading de aplicativos ou você deve instalar o aplicativo em um Site do desenvolvedor.

  • O host de My Site configurado, com um site pessoal criado para o usuário atual.

  • Visual Studio 2012 ou Visual Studio 2013 com Office Developer Tools para Visual Studio 2013.

  • Permissões suficientes para o usuário conectado:

    • Permissões de administrador local no computador de desenvolvimento.

    • Gerencie permissões de usuário do site e crie Subsites no site do SharePoint onde você está instalando o aplicativo. Por padrão, essas permissões estão disponíveis apenas para os usuários que possuam o nível de permissão Controle Total, ou que estejam no grupo de Proprietários do site.

    • Você deve estar conectado como alguém que não seja a conta do sistema. A conta do sistema não tem permissão para instalar o aplicativo.

Observação

Consulte Configurar um ambiente de desenvolvimento local para suplementos do SharePoint para obter diretrizes sobre a instalação local (incluindo como desabilitar o marcar de loopback, se necessário).

Criar o projeto de Suplemento do SharePoint

  1. Em seu Site do desenvolvedor, abra Napa e escolha Adicionar novo projeto.

  2. Escolha o modelo de aplicativo para o SharePoint, nomeie o projeto e, em seguida, clique no botão criar.

  3. Defina as permissões para seu aplicativo:

    1. Escolha o botão Propriedades na parte inferior da página.

    2. Na janela Propriedades, escolha as permissões.

    3. Na categoria de conteúdo, defina permissões de Write para o escopo de locatário.

    4. Na categoria Social, defina permissões de Read para o escopo de Perfis de usuário.

    5. Feche a janela Propriedades.

  4. Expanda o nó de Scripts, escolha o arquivo App.js e substitua o seu conteúdo com o código de um dos seguintes cenários:

  5. Para executar o aplicativo, escolha o botão Executar projeto na parte inferior da página.

  6. Na página você confia que é aberta, escolha o botão Confiança-lo. A página de app abre e executa o código. Para depurar a página, escolha a tecla F12 e escolha App.js na guia Script.

Exemplo de código: começar a seguir e parar de seguir um documento usando o serviço de REST do SharePoint

O exemplo de código a seguir representa o conteúdo do arquivo App.js e mostra como:

  • Obtenha o URI Web do aplicativo na cadeia de caracteres de consulta e construa o URI do <siteUri>/_api/social.following ponto de extremidade.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade isfollowed para descobrir se o usuário atual já está seguindo um documento especificado.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade follow para iniciar seguindo o documento.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade stopfollowing para deixar de seguir o documento.

  • Leia a resposta JSON retornada pela solicitação isfollowed e pela solicitação follow . (A solicitação stopfollowing não retorna nada na resposta.) Consulte exemplo JSON respostas.

Antes de executar o código, você precisará carregar um documento e altere o valor de espaço reservado para a variável documentUrl a URL do documento.


// Replace the documentUrl placeholder value before you run the code.
var documentUrl = "https://domain.sharepoint.com/Shared%20Documents/fileName.docx";
var followingManagerEndpoint;

// Get the SPAppWebUrl parameter from the query string and build
// the Following manager endpoint.
$(document).ready(function () {
    var appweburl;
    var params = document.URL.split("?")[1].split("&amp;");
    for (var i = 0; i < params.length; i = i + 1) {
        var param = params[i].split("=");
        if (param[0] === "SPAppWebUrl") appweburl = param[1];
    }
    followingManagerEndpoint = decodeURIComponent(appweburl) + "/_api/social.following";
    isFollowed();
});

// Check whether the current user is already following the document.
// The request body includes a SocialActorInfo object that represents
// the specified item. 
// The success function reads the response from the REST service and then
// toggles the user's following status by calling the appropriate method.
function isFollowed() {
    $.ajax( {
        url: followingManagerEndpoint + "/isfollowed",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":1,
                "ContentUri":documentUrl,
                "Id":null
            } 
        }),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function (responseData) { 
            stringData = JSON.stringify(responseData);
            jsonObject = JSON.parse(stringData);
            if (jsonObject.d.IsFollowed === true ) {
                alert('The user is currently following the document.');
                stopFollowDocument();
            }
            else {
                alert('The user is currently NOT following the document.');
                followDocument();
            }
        },
        error: requestFailed
    });
}

// Make the current user start following a document.
// The request body includes a SocialActorInfo object that represents
// the document to follow.
// The success function reads the response from the REST service.
function followDocument() {
    $.ajax( {
        url: followingManagerEndpoint + "/follow",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":1,
                "ContentUri":documentUrl,
                "Id":null
            } 
        } ),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function (responseData) { 
            stringData = JSON.stringify(responseData);
            jsonObject = JSON.parse(stringData);
            var statusMessage = {
                0 : 'The user has started following the document. ',
                1 : 'The user is already following the document. ',
                2 : 'An internal limit was reached. ',
                3 : 'An internal error occurred. '
            }
            alert(statusMessage[jsonObject.d.Follow] + 'Status code = ' + jsonObject.d.Follow);
        },
        error: requestFailed
    } );
}

// Make the current user stop following a document.
// The request body includes a SocialActorInfo object that represents
// the document to stop following.
function stopFollowDocument() {
    $.ajax( {
        url: followingManagerEndpoint + "/stopfollowing",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":1,
                "ContentUri":documentUrl,
                "Id":null
            } 
        } ),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function () { 
            alert('The user has stopped following the document.');
        },
        error: requestFailed
    } );
}

function requestFailed(xhr, ajaxOptions, thrownError) {
    alert('Error:\\n' + xhr.status + '\\n' + thrownError + '\\n' + xhr.responseText);
}

Exemplo de código: começar a seguir e parar de seguir um site usando o serviço de REST do SharePoint

O exemplo de código a seguir representa o conteúdo do arquivo App.js e mostra como:

  • Obtenha o URI Web do aplicativo na cadeia de caracteres de consulta e construa o URI do <siteUri>/_api/social.following ponto de extremidade.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade isfollowed para descobrir se o usuário atual já está seguindo um site especificado.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade follow para iniciar seguindo o site.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade stopfollowing para deixar de seguir o site.

  • Leia a resposta JSON retornada pela solicitação isfollowed e pela solicitação follow . (A solicitação stopfollowing não retorna nada na resposta.) Consulte exemplo JSON respostas.

Antes de executar o código, altere o valor de espaço reservado para a variável siteUrl coincidir com o site que você deseja seguir. Use o formato http://server/siteCollection/site para um site em um conjunto de sites. Você pode seguir a um site de qualquer página ou a biblioteca neste site. Se o site usa um modelo que não tem suporte para seguindo (como o host de Meu Site ou um site pessoal), você receberá um erro de UnsupportedSite (código de erro 10).


// Replace the siteUrl placeholder value before you run the code.
var siteUrl = "https://domain.sharepoint.com";
var followingManagerEndpoint;

// Get the SPAppWebUrl parameter from the query string and build
// the Following manager endpoint.
$(document).ready(function () {
    var appweburl;
    var params = document.URL.split("?")[1].split("&amp;");
    for (var i = 0; i < params.length; i = i + 1) {
        var param = params[i].split("=");
        if (param[0] === "SPAppWebUrl") appweburl = param[1];
    }
    followingManagerEndpoint = decodeURIComponent(appweburl) + "/_api/social.following";
    isFollowed();
});

// Check whether the current user is already following the site.
// The request body includes a SocialActorInfo object that represents
// the specified item. 
// The success function reads the response from the REST service and then
// toggles the user's following status by calling the appropriate method.
function isFollowed() {
    $.ajax( {
        url: followingManagerEndpoint + "/isfollowed",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":2,
                "ContentUri":siteUrl,
                "Id":null
            } 
        }),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function (responseData) { 
            stringData = JSON.stringify(responseData);
            jsonObject = JSON.parse(stringData);
            if (jsonObject.d.IsFollowed === true ) {
                alert('The user is currently following the site.');
                stopFollowSite();
            }
            else {
                alert('The user is currently NOT following the site.');
                followSite();
            }
        },
        error: requestFailed
    });
}

// Make the current user start following a site.
// The request body includes a SocialActorInfo object that represents
// the site to follow.
// The success function reads the response from the REST service.
function followSite() {
    $.ajax( {
        url: followingManagerEndpoint + "/follow",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":2,
                "ContentUri":siteUrl,
                "Id":null
            } 
        } ),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function (responseData) { 
            stringData = JSON.stringify(responseData);
            jsonObject = JSON.parse(stringData);
            var statusMessage = {
                0 : 'The user has started following the site. ',
                1 : 'The user is already following the site. ',
                2 : 'An internal limit was reached. ',
                3 : 'An internal error occurred. '
            }
            alert(statusMessage[jsonObject.d.Follow] + 'Status code = ' + jsonObject.d.Follow);
        },
        error: requestFailed
    } );
}

// Make the current user stop following a site.
// The request body includes a SocialActorInfo object that represents
// the site to stop following.
function stopFollowSite() {
    $.ajax( {
        url: followingManagerEndpoint + "/stopfollowing",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":2,
                "ContentUri":siteUrl,
                "Id":null
            } 
        } ),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function () { 
            alert('The user has stopped following the site.');
        },
        error: requestFailed
    } );
}

function requestFailed(xhr, ajaxOptions, thrownError) {
    alert('Error:\\n' + xhr.status + '\\n' + thrownError + '\\n' + xhr.responseText);
}

Exemplo de código: começar a seguir e parar de seguir uma marca (tag) usando o serviço de REST do SharePoint

O exemplo de código a seguir representa o conteúdo do arquivo App.js e mostra como:

  • Obtenha o URI Web do aplicativo na cadeia de caracteres de consulta e construa o URI do <siteUri>/_api/social.following ponto de extremidade.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade isfollowed para descobrir se o usuário atual já está seguindo a uma marca especificada.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade follow para iniciar após a marca.

  • Criar e enviar uma solicitação de POST ao ponto de extremidade stopfollowing para parar após a marca.

  • Leia a resposta JSON retornada pela solicitação isfollowed e pela solicitação follow . (A solicitação stopfollowing não retorna nada na resposta.) Para obter mais informações, consulte exemplo JSON respostas.

Antes de executar o código, altere o valor de espaço reservado para a variável tagGuid no GUID de uma marca existente. Taxonomia API que você pode usar para recuperar uma marca do HashTagsTermSet não tem uma interface REST, portanto você terá que usar o modelo de objeto do cliente .NET ou do modelo de objeto do JavaScript. Consulte Como obter o GUID de uma marca com base no nome da marca usando o modelo de objeto do JavaScript para obter um exemplo.


// Replace the tagGuid placeholder value before you run the code.
var tagGuid = "19a4a484-c1dc-4bc5-8c93-bb96245ce928";
var followingManagerEndpoint;

// Get the SPAppWebUrl parameter from the query string and build
// the Following manager endpoint.
$(document).ready(function () {
    var appweburl;
    var params = document.URL.split("?")[1].split("&amp;");
    for (var i = 0; i < params.length; i = i + 1) {
        var param = params[i].split("=");
        if (param[0] === "SPAppWebUrl") appweburl = param[1];
    }
    followingManagerEndpoint = decodeURIComponent(appweburl) + "/_api/social.following";
    isFollowed();
});

// Check whether the current user is already following the tag.
// The request body includes a SocialActorInfo object that represents
// the specified item. 
// The success function reads the response from the REST service and then
// toggles the user's following status by calling the appropriate method.
function isFollowed() {
    $.ajax( {
        url: followingManagerEndpoint + "/isfollowed",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":3,
                "TagGuid":tagGuid,
                "Id":null
            } 
        }),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function (responseData) { 
            stringData = JSON.stringify(responseData);
            jsonObject = JSON.parse(stringData);
            if (jsonObject.d.IsFollowed === true ) {
                alert('The user is currently following the tag.');
                stopFollowTag();
            }
            else {
                alert('The user is currently NOT following the tag.');
                followTag();
            }
        },
        error: requestFailed
    });
}

// Make the current user start following a tag.
// The request body includes a SocialActorInfo object that represents
// the tag to follow.
// The success function reads the response from the REST service.
function followTag() {
    $.ajax( {
        url: followingManagerEndpoint + "/follow",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":3,
                "TagGuid":tagGuid,
                "Id":null
            } 
        } ),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function (responseData) { 
            stringData = JSON.stringify(responseData);
            jsonObject = JSON.parse(stringData);
            var statusMessage = {
                0 : 'The user has started following the tag. ',
                1 : 'The user is already following the tag. ',
                2 : 'An internal limit was reached. ',
                3 : 'An internal error occurred. '
            }
            alert(statusMessage[jsonObject.d.Follow] + 'Status code = ' + jsonObject.d.Follow);
        },
        error: requestFailed
    } );
}

// Make the current user stop following a tag.
// The request body includes a SocialActorInfo object that represents
// the tag to stop following.
function stopFollowTag() {
    $.ajax( {
        url: followingManagerEndpoint + "/stopfollowing",
        type: "POST",
        data: JSON.stringify( { 
            "actor": {
                "__metadata": {
                    "type":"SP.Social.SocialActorInfo"
                },
                "ActorType":3,
                "TagGuid":tagGuid,
                "Id":null
            } 
        } ),
        headers: { 
            "accept":"application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest":$("#__REQUESTDIGEST").val()
        },
        success: function () { 
            alert('The user has stopped following the tag.');
        },
        error: requestFailed
    } );
}

function requestFailed(xhr, ajaxOptions, thrownError) {
    alert('Error:\\n' + xhr.status + '\\n' + thrownError + '\\n' + xhr.responseText);
}

Exemplo de código: obter o conteúdo seguido usando o serviço de REST do SharePoint

O exemplo de código a seguir representa o conteúdo do arquivo App.js e mostra como:

  • Obtenha o URI Web do aplicativo na cadeia de caracteres de consulta e construa o URI do <siteUri>/_api/social.following ponto de extremidade.

  • Criar e enviar uma solicitação de GET ao ponto de extremidade my/followedcount para obter a contagem de conteúdo que o usuário atual está seguindo.

  • Criar e enviar uma solicitação de GET ao ponto de extremidade my/followed para obter o conteúdo que o usuário atual está seguindo.

  • Ler a resposta JSON retornada por solicitações. Consulte Exemplo de respostas JSON.


var followingManagerEndpoint;
var followedCount;

// Get the SPAppWebUrl parameter from the query string and build
// the following manager endpoint.
$(document).ready(function () {
    var appweburl;
    var params = document.URL.split("?")[1].split("&amp;");
    for (var i = 0; i < params.length; i = i + 1) {
        var param = params[i].split("=");
        if (param[0] === "SPAppWebUrl") appweburl = param[1];
    }
    followingManagerEndpoint = decodeURIComponent(appweburl)+ "/_api/social.following";
    getMyFollowedCount();
} );

// Get the count of content that the current user is following.
// The "types=14" parameter specifies all content types
// (documents = 2 + sites = 4 + tags = 8).
function getMyFollowedCount() {
    $.ajax( {
        url: followingManagerEndpoint + "/my/followedcount(types=14)",
        headers: { 
            "accept": "application/json;odata=verbose"
        },
        success: function (data) { 
            followedCount = data.d.FollowedCount;
            getMyFollowedContent();
        },
        error: requestFailed
    } );
}

// Get the content that the current user is following.
// The "types=14" parameter specifies all content types
// (documents = 2 + sites = 4 + tags = 8).
function getMyFollowedContent() {
    $.ajax( {
        url: followingManagerEndpoint + "/my/followed(types=14)",
        headers: { 
            "accept": "application/json;odata=verbose"
        },
        success: followedContentRetrieved,
        error: requestFailed
    });
}

// Parse the JSON data and iterate through the collection.
function followedContentRetrieved(data) {
    var stringData = JSON.stringify(data);
    var jsonObject = JSON.parse(stringData); 
    var types = {
        1: "document",
        2: "site",
        3: "tag" 
    };
 
    var followedActors = jsonObject.d.Followed.results; 
    var followedList = "You're following " + followedCount + " items:";
    for (var i = 0; i < followedActors.length; i++) {
        var actor = followedActors[i];
        followedList += "<p>The " + types[actor.ActorType] + ": \\"" +
        actor.Name + "\\"</p>";
    } 
    $("#message").html(followedList); 
}

function requestFailed(xhr, ajaxOptions, thrownError) {
    alert('Error:\\n' + xhr.status + '\\n' + thrownError + '\\n' + xhr.responseText);
}

Exemplo de respostas JSON para as solicitações para seguir conteúdo

Por padrão, o serviço REST retorna respostas formatados usando o protocolo Atom, mas você pode solicitar o formato JSON usando um cabeçalho de Accept HTTP (por exemplo: "accept":"application/json;odata=verbose"). Os dados de resposta são retornados como uma cadeia de caracteres, e você pode usar a função JSON.stringify e a função de JSON.parse para converter a cadeia de caracteres em um objeto, conforme mostrado nos exemplos de código anterior.

Para solucionar um erro retornado pelo serviço REST, no modo de depuração, examine a propriedade responseText, conforme mostrado nas funções de retorno de chamada requestFailed nos exemplos anteriores. Você também poderá obter a ID de correlação de log do ULS do servidor de um rastreador de rede ou depurador HTTP, como o Fiddler. A ID de correlação é o mesmo que o ID de solicitação na resposta HTTP.

Exemplo de resposta para o ponto de extremidade Follow

Em resposta às solicitações do lado do follow cliente ao ponto de extremidade, o serviço REST retorna um valor SocialFollowResult que representa se a solicitação Follow foi bem-sucedida.

A seguinte resposta representa o status de AlreadyFollowing.


{"d":{"Follow":1}}

A tabela 1 mostra os códigos de status SocialFollowResult e seus valores.

Tabela 1. Códigos e valores SocialFollowResult

Código de status Valor
0 OK. O usuário atual está seguindo o ator.
1 AlreadyFollowing. O usuário atual já está seguindo o ator.
2 LimitReached. A solicitação falhou porque um limite interno foi alcançado.
3 InternalError. A solicitação falhou devido a um erro interno.

Observação

[!OBSERVAçãO] O serviço REST não retorna uma resposta para a solicitação de StopFollowing. Ele retornará {"d":{"StopFollowing":null}}.

Exemplo de resposta para o ponto de extremidade IsFollowed

Em resposta às solicitações do lado do isfollowed cliente ao ponto de extremidade, o serviço REST retorna um valor bool que representa se o usuário atual está seguindo o ator especificado.

A seguinte resposta indica que o usuário atual não está seguindo o documento especificado, o site ou a marca.

{"d":{"IsFollowed":false}}

Exemplo de resposta para o ponto de extremidade My/Followed

Em resposta às solicitações do lado do my/followed cliente ao ponto de extremidade, o serviço REST retorna uma matriz de SP. Objetos Social.SocialActor que representam documentos, sites e marcas que o usuário atual está seguindo.

A seguinte resposta representa um documento visitado, site e marca. A solicitação especifica os tipos de conteúdo a ser incluído.

{"d":{"Followed":{"results":[
  {"__metadata":{"type":"SP.Social.SocialActor"}
    "AccountName":null
    "ActorType":1
    "CanFollow":true
    "ContentUri":"https://domain.sharepoint.com:443/Shared%20Documents/fileName.docx"
    "EmailAddress":null
    "FollowedContentUri":null
    "Id":"2.089f4944a6374a64b52b7af5ba140392.9340a4837688405daa6b83f2b58f973d.
      51bbb5d8e214457ba794669345d23040.98b9fc73d5224265b039586688b15b98"
    "ImageUri":null
    "IsFollowed":true
    "LibraryUri":null
    "Name":"snippets.txt"
    "PersonalSiteUri":null
    "Status":0
    "StatusText":null
    "TagGuid":"00000000-0000-0000-0000-000000000000"
    "Title":null
    "Uri":"https://domain.sharepoint.com:443/Shared%20Documents/fileName.docx"
  }
  {"__metadata":{"type":"SP.Social.SocialActor"}
    "AccountName":null
    "ActorType":2
    "CanFollow":true
    "ContentUri":"https://domain.sharepoint.com:443/"
    "EmailAddress":null
    "FollowedContentUri":null
    "Id":"8.089f4944a6374a64b52b7af5ba140392.9340a4837688405daa6b83f2b58f973d.
      089f4944a6374a64b52b7af5ba140392.98b9fc73d5224265b039586688b15b98"
    "ImageUri":null
    "IsFollowed":true
    "LibraryUri":null
    "Name":"Developer Site"
    "PersonalSiteUri":null
    "Status":0
    "StatusText":null
    "TagGuid":"00000000-0000-0000-0000-000000000000"
    "Title":null
    "Uri":"https://domain.sharepoint.com:443/"
  }
  {"__metadata":{"type":"SP.Social.SocialActor"}
    "AccountName":null
    "ActorType":3
    "CanFollow":true
    "ContentUri":null
    "EmailAddress":null
    "FollowedContentUri":null
    "Id":"16.00000000000000000000000000000000.00000000000000000000000000000000.
      19a4a484c1dc4bc58c93bb96245ce928.98b9fc73d5224265b039586688b15b98"
    "ImageUri":null
    "IsFollowed":true
    "LibraryUri":null
    "Name":"#someTag"
    "PersonalSiteUri":null
    "Status":0
    "StatusText":null
    "TagGuid":"19a4a484-c1dc-4bc5-8c93-bb96245ce928"
    "Title":null
    "Uri":"https://domain-my.sharepoint.com:443/_layouts/15/HashTagProfile.aspx?
      TermID=19a4a484-c1dc-4bc5-8c93-bb96245ce928"
  }
]}}}

Exemplo de resposta para o ponto de extremidade My/FollowedCount

Em resposta às solicitações do lado do my/followedcount cliente ao ponto de extremidade, o serviço REST retorna um valor Int32 que representa a contagem total de tipos de ator especificados que o usuário atual está seguindo.

A seguinte resposta representa uma contagem de três documentos seguidos, sites e/ou marcas. A solicitação especifica os tipos de conteúdo a ser incluído.


{"d":{"FollowedCount":3}}

Confira também