Seguir los documentos, sitios y etiquetas usando el servicio REST en SharePoint
Cree aplicaciones hospedadas en SharePoint que usen el servicio REST para seguir contenido (documentos, sitios y etiquetas) y para obtener contenido seguido.
¿Cómo se puede usar el servicio REST de SharePoint para seguir contenido?
Los usuarios de SharePoint pueden seguir documentos, sitios y etiquetas para obtener las actualizaciones acerca de los elementos en sus suministros de noticias y abrir rápidamente documentos y sitios seguidos. Puede usar la API de REST SharePoint en su aplicación o solución para comenzar a seguir contenido, dejar de seguir contenido y obtener contenido seguido en nombre del usuario actual.
Los siguientes recursos REST son la API principal para tareas de contenido siguientes:
SocialRestFollowingManager proporciona métodos para administrar una lista del usuario de actores seguidos.
SocialActor representa un documento, un sitio o una etiqueta que el servidor devuelve en respuesta a una solicitud de cliente.
SocialActorInfo especifica un documento, un sitio o una etiqueta de solicitudes de cliente al servidor.
SocialActorType y SocialActorTypes especifican tipos de contenido en las solicitudes de cliente en el servidor.
Para realizar las tareas siguientes contenido mediante el uso de la API de REST, enviar HTTP GET y solicitudes de POST HTTP al servicio REST. Los URI de extremo REST para las tareas siguientes contenido comienzan con el recurso de SocialRestFollowingManager ( <siteUri>/_api/social.following
) y terminan con uno de los siguientes recursos:
follow al iniciarse después de un documento, un sitio o una etiqueta
stopfollowing para dejar de seguir un documento, un sitio o una etiqueta
isfollowed para averiguar si el usuario sigue a un documento específico, un sitio o una etiqueta
my/followed para obtener los documentos seguidos, sitios y etiquetas
my/followedcount para obtener el recuento de documentos seguidos, sitios y etiquetas
Nota:
También se pueden utilizar estos extremos para las tareas siguientes personas, pero los recursos followers y suggestions disponibles desde SocialRestFollowingManager sólo admiten seguir personas, no contenido. Para obtener más información sobre cómo puede usar SocialRestFollowingManager, vea Seguimiento de contenido en SharePoint y Seguimiento de personas en SharePoint.
Requisitos previos para crear una aplicación hospedada en SharePoint que administra el contenido seguido mediante el servicio REST de SharePoint
En este artículo se presupone que crea las Complemento de SharePoint con Napa en un sitio para desarrolladores de Office 365. Si está usando este entorno de desarrollo, ya cumple los requisitos previos.
Nota:
Vaya a Configuración de un entorno de desarrollo para complementos de SharePoint en Office 365 para registrarse en un sitio para desarrolladores y empezar a usar Napa.
Si no está utilizando Napa en un sitio para desarrolladores de Office 365, deberá cumplir los siguientes requisitos previos antes de implementar el Complemento de SharePoint:
Un entorno de desarrollo de SharePoint que está configurado para el aislamiento de aplicaciones. Si está desarrollando de forma remota, el servidor debe admitir sideloading de aplicaciones o debe instalar la aplicación en un sitio para desarrolladores.
El host Mi sitio configurado con un sitio personal creado para el usuario actual.
Visual Studio 2012 o Visual Studio 2013 con Office Developer Tools para Visual Studio 2013.
Permisos suficientes para el usuario que ha iniciado la sesión:
Permisos de administrador local en el equipo de desarrollo.
Administrar permisos de usuario de sitio web y crear subsitios en el sitio de SharePoint donde va a instalar la aplicación. De manera predeterminada, estos permisos solo están concedidos a los usuarios que tienen el nivel de permisos de Control total o que están en el grupo Propietarios del sitio.
Debe iniciar sesión como un usuario distinto de la cuenta del sistema. La cuenta del sistema no tiene permiso para instalar la aplicación.
Nota:
Vea Configurar un entorno de desarrollo local para complementos de SharePoint para obtener instrucciones sobre la configuración local (incluido cómo deshabilitar la comprobación de bucle invertido, si es necesario).
Crear el proyecto de complemento de SharePoint
En el sitio para desarrolladores, abra Napa y, a continuación, elija Agregar nuevo proyecto.
Elija la plantilla aplicación para SharePoint, al proyecto el nombre y, a continuación, elija el botón crear.
Establezca los permisos para la aplicación:
Elija el botón de Propiedades en la parte inferior de la página.
En la ventana Propiedades, elija permisos.
En la categoría del contenido, establezca los permisos de Write para el ámbito de inquilino.
En la categoría Social, establezca los permisos de Read para el ámbito de Los perfiles de usuario.
Cierre la ventana de Propiedades.
Expanda el nodo de secuencias de comandos, elija el archivo default.aspx y reemplace su contenido con el código de uno de los siguientes escenarios:
Para ejecutar la aplicación, elija el botón Ejecutar proyecto en la parte inferior de la página.
En la página ¿confía en que se abre, elija el botón Confianza. La página de aplicación se abre y ejecuta el código. Para depurar la página, elija la tecla F12 y, a continuación, elija App.js en la ficha de secuencia de comandos.
Ejemplo de código: comenzar a seguir y dejar de seguir un documento mediante el servicio REST de SharePoint
En el ejemplo de código siguiente se representa el contenido del archivo App.js y se muestra cómo:
Obtenga el URI web de la aplicación de la cadena de consulta y construya el URI del punto de
<siteUri>/_api/social.following
conexión.Crear y enviar una solicitud de POST al extremo del
isfollowed
para averiguar si el usuario actual sigue ya a un documento especificado.Crear y enviar una solicitud de POST al extremo del
follow
al iniciarse después del documento.Crear y enviar una solicitud de POST al extremo del
stopfollowing
para detener el seguimiento del documento.Lea la respuesta JSON devuelta por la
isfollowed
solicitud y lafollow
solicitud. (La solicitudstopfollowing
no devuelve nada en la respuesta.) Ver las respuestas de ejemplo de JSON.
Antes de ejecutar el código, deberá cargar un documento y cambie el valor de marcador de posición para la variable documentUrl a la dirección URL del 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("&");
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);
}
Ejemplo de código: comenzar a seguir y dejar de seguir un sitio mediante el servicio REST de SharePoint
En el ejemplo de código siguiente se representa el contenido del archivo App.js y se muestra cómo:
Obtenga el URI web de la aplicación de la cadena de consulta y construya el URI del punto de
<siteUri>/_api/social.following
conexión.Crear y enviar una solicitud de POST al extremo del
isfollowed
para averiguar si el usuario actual sigue ya a un sitio especificado.Crear y enviar una solicitud de POST al extremo del
follow
para iniciar el siguiente el sitio.Crear y enviar una solicitud de POST al extremo del
stopfollowing
para detener el seguimiento del sitio.Lea la respuesta JSON devuelta por la
isfollowed
solicitud y lafollow
solicitud. (La solicitudstopfollowing
no devuelve nada en la respuesta.) Ver las respuestas de ejemplo de JSON.
Antes de ejecutar el código, cambie el valor de marcador de posición de la variable siteUrl para que coincida con el sitio que se va a seguir. Utilice el formato http://server/siteCollection/site para un sitio en una colección de sitios. Puede seguir un sitio desde cualquier página o una biblioteca en ese sitio. Si el sitio utiliza una plantilla que no es compatible con seguimiento (como el host de Mi sitio o un sitio personal), obtendrá un error de UnsupportedSite (código de error 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("&");
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);
}
Ejemplo de código: comenzar a seguir y dejar de seguir una etiqueta mediante el servicio REST de SharePoint
En el ejemplo de código siguiente se representa el contenido del archivo App.js y se muestra cómo:
Obtenga el URI web de la aplicación de la cadena de consulta y construya el URI del punto de
<siteUri>/_api/social.following
conexión.Crear y enviar una solicitud de POST al extremo del
isfollowed
para averiguar si el usuario actual ya sigue una etiqueta especificada.Crear y enviar una solicitud de POST al extremo del
follow
para iniciar el seguimiento de la etiqueta.Crear y enviar una solicitud de POST al extremo del
stopfollowing
para detener el seguimiento de la etiqueta.Lea la respuesta JSON devuelta por la
isfollowed
solicitud y lafollow
solicitud. (La solicitudstopfollowing
no devuelve nada en la respuesta.) Para obtener más información, vea las respuestas de ejemplo de JSON.
Antes de ejecutar el código, cambie el valor de marcador de posición de la variable tagGuid en el GUID de una etiqueta existente. La API que se usan para recuperar una etiqueta de la HashTagsTermSet de taxonomía no tiene una interfaz de REST, por lo que se debe usar el modelo de objetos de cliente de .NET o el modelo de objetos de JavaScript. Para obtener un ejemplo, vea Cómo obtener el GUID de la etiqueta basada en el nombre de la etiqueta mediante el modelo de objetos de JavaScript .
// 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("&");
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);
}
Ejemplo de código: obtenga contenido seguido con el servicio REST de SharePoint
En el ejemplo de código siguiente se representa el contenido del archivo App.js y se muestra cómo:
Obtenga el URI web de la aplicación de la cadena de consulta y construya el URI del punto de
<siteUri>/_api/social.following
conexión.Crear y enviar una solicitud de GET al extremo del
my/followedcount
para obtener el recuento de contenido que está siguiendo el usuario actual.Crear y enviar una solicitud de GET al extremo del
my/followed
para obtener el contenido que está siguiendo el usuario actual.La respuesta JSON devuelta por las solicitudes de lectura. Consulte Ejemplo de respuestas 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("&");
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);
}
Respuestas JSON de ejemplo para las siguientes solicitudes para seguir contenido
De forma predeterminada, el servicio REST devuelve las respuestas que se ha dado formato mediante el protocolo Atom, pero puede solicitar el formato JSON mediante el uso de un encabezado de Accept HTTP (por ejemplo: "accept":"application/json;odata=verbose"
). Los datos de respuesta se devuelven como una cadena y puede usar las funciones de JSON.stringify y JSON.parse para convertir la cadena en un objeto, como se muestra en los ejemplos de código anterior.
Para solucionar problemas de un error devuelto por el servicio REST, en modo de depuración, examine la propiedad responseText, como se muestra en las funciones de devolución de llamada de requestFailed en los ejemplos anteriores. También puede obtener el identificador de correlación para el registro ULS del servidor desde un rastreador de red o el depurador HTTP, como Fiddler. El identificador de correlación es el mismo que el identificador de la solicitud en la respuesta HTTP.
Respuesta de ejemplo para el extremo Follow
En respuesta a las solicitudes del lado cliente al follow
punto de conexión, el servicio REST devuelve un valor SocialFollowResult que representa si la solicitud Follow se realizó correctamente.
La siguiente respuesta representa el estado de AlreadyFollowing.
{"d":{"Follow":1}}
La tabla 1 muestra los códigos de estado de SocialFollowResult y sus valores.
Tabla 1. SocialFollowResult códigos y valores
Código de estado | Valor |
---|---|
0 | OK. El usuario actual sigue ahora el actor. |
1 | AlreadyFollowing. El usuario actual ya está siguiendo el actor. |
2 | LimitReached. Se produjo un error en la solicitud porque se alcanzó el límite interno. |
3 | InternalError. Error en la solicitud debido a un error interno. |
Nota:
[!NOTA] El servicio REST no devuelve una respuesta para la solicitud de StopFollowing. Devuelve {"d":{"StopFollowing":null}}
.
Respuesta de ejemplo para el extremo IsFollowed
En respuesta a las solicitudes del lado cliente al isfollowed
punto de conexión, el servicio REST devuelve un valor bool que representa si el usuario actual sigue al actor especificado.
La respuesta siguiente indica que el usuario actual no sigue el documento especificado, el sitio o la etiqueta.
{"d":{"IsFollowed":false}}
Respuesta de ejemplo para el extremo My/Followed
En respuesta a las solicitudes del lado cliente al my/followed
punto de conexión, el servicio REST devuelve una matriz de SP. Objetos Social.SocialActor que representan documentos, sitios y etiquetas que sigue el usuario actual.
La siguiente respuesta representa un documento seguido, el sitio y la etiqueta. La solicitud especifica los tipos de contenido que desea incluir.
{"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"
}
]}}}
Respuesta de ejemplo para el extremo My/FollowedCount
En respuesta a las solicitudes del lado cliente al my/followedcount
punto de conexión, el servicio REST devuelve un valor Int32 que representa el recuento total de tipos de actor especificados que sigue el usuario actual.
La siguiente respuesta representa un recuento de tres documentos seguidos, sitios y etiquetas. La solicitud especifica los tipos de contenido que desea incluir.
{"d":{"FollowedCount":3}}