Seguir a personas usando el modelo de objetos de JavaScript en SharePoint
Aprenda a trabajar con las características de Seguir a personas usando el modelo de objetos JavaScript de SharePoint.
¿Por qué usar las siguientes características de Personas en SharePoint?
En SharePoint, las siguientes características Personas ayudan a los usuarios a mantenerse conectados entre sí. Por ejemplo, cuando un usuario sigue a alguien, esa persona publicaciones y actividades aparecen en suministro de noticias del usuario. Mediante las características de seguimiento de personas para centrarse en las personas que le preocupan los usuarios, puede mejorar la relevancia de la aplicación o la solución. En el modelo de objetos de JavaScript, las personas que sigue se representan mediante objetos SocialActor . Para realizar tareas básicas de seguimiento de personas en el modelo de objetos de JavaScript, utilice el objeto SocialFollowingManager . En este artículo se muestra cómo utilizar el modelo de objetos de JavaScript para trabajar con las características de seguimiento de personas.
Nota:
[!NOTA] SocialFollowingManager es la API que se recomienda a usar para seguir a gente y contenido. Sin embargo, el objeto PeopleManager contiene funciones adicionales para seguir a personas, como el método amIFollowedBy y métodos que obtención el estado siguiente de otros usuarios.
Requisitos previos para configurar el entorno de desarrollo para que funcione con las siguientes características Personas mediante el modelo de objetos de JavaScript de SharePoint
Para crear la solución de granja de servidores que usa el modelo de objetos de JavaScript para trabajar con las características de seguimiento de personas, necesitará:
- SharePoint con Mi sitio configurado y con perfiles de usuario y sitios personales creados para el usuario actual y un usuario de destino
- Visual Studio 2012
- Office Developer Tools para Visual Studio 2012
- Permisos de acceso Control total sobre la aplicación de servicio Perfil de usuario para el usuario que ha iniciado sesión
- Permisos de administrador local para el usuario ha iniciado sesión
Crear una página de aplicación y de solución de granja de servidores en Visual Studio 2012
Ejecute Visual Studio como administrador y elija archivo, nuevo, proyecto.
En el cuadro de diálogo Nuevo proyecto, seleccione .NET Framework 4.5 en la lista desplegable situada en la parte superior del cuadro de diálogo.
En la lista Plantillas , expanda Office/SharePoint, elija Soluciones de SharePoint y, a continuación, elija la plantilla SharePoint - Proyecto vacío .
Asigne al proyecto el nombre FollowPeopleJSOM y, a continuación, elija el botón Aceptar .
En el cuadro de diálogo Asistente para la personalización de SharePoint, elija Implementar como solución de granja y luego haga clic en el botón Finalizar.
En el Explorador de soluciones, abra el menú contextual para el proyecto FollowPeopleJSOM y, a continuación, agregue una SharePoint carpeta asignada "Diseños".
En la carpeta Layouts, abra el menú contextual para la carpeta FollowPeopleJSOM y, a continuación, agregue una nueva página de aplicación de SharePoint denominadaFollowPeople.aspx.
Nota:
[!NOTA] Los ejemplos de código de este artículo definen código personalizado en el marcado de la página, pero usan la clase de código subyacente que crea Visual Studio para la página.
Abra el menú contextual de la página de FollowPeople.aspx y, a continuación, elija Set as Startup Item.
En el marcado del archivo FollowPeople.aspx, pegue el código siguiente entre las etiquetas "Main"
asp:Content
. Este código define los controles y las referencias de secuencias de comandos.<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>
Nota:
[!NOTA] En el ejemplo "Obtener guiada y personas para seguir" no utiliza el control de botón o el control de síntesis de formulario, que sólo es necesario para las operaciones que actualización el contenido del servidor. Una síntesis de formulario genera una síntesis de mensaje que se utiliza para la validación de seguridad.
Reemplace el comentario entre las
script
etiquetas por el ejemplo de código de uno de los escenarios siguientes:Para probar la solución, en la barra de menús, elija Depurar, Iniciar depuración.
Ejemplo de código: Iniciar o dejar de seguir a personas mediante el modelo de objetos de JavaScript de SharePoint
En el ejemplo de código siguiente se convierte el inicio de usuario actual sigue o la detención sigue a un usuario de destino. Muestra cómo:
- Compruebe si el usuario actual sigue a un usuario de destino mediante el método isFollowed .
- Obtenga el recuento de personas que sigue el usuario actual mediante el método getFollowedCount .
- Empiece a seguir al usuario de destino mediante el método follow .
- Deje de seguir al usuario de destino mediante el método stopFollowing .
Nota:
[!NOTA] Pegue el código siguiente entre las etiquetas de script que agregó en el procedimiento de página de la aplicación y crear una solución de granja de servidores . A continuación, cambie el valor de marcador de posición de la variable targetUser antes de ejecutar el 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());
}
Ejemplo de código: Obtener seguidores y personas seguidas mediante el modelo de objetos de JavaScript de SharePoint
En el ejemplo de código siguiente se obtiene las personas que el usuario actual sigue y obtiene las personas que se siguen por el usuario actual. Muestra cómo:
- Obtenga las personas que sigue el usuario actual mediante el método getFollowed .
- Obtenga a las personas que siguen al usuario actual mediante el método getFollowers y pasando 1 para representar los tipos de actor de usuario .
- Iterar a través de los grupos de personas y get y esa persona mostrar el URI del sitio personal, nombre, URI de la imagen.
Nota:
Pegue el código siguiente entre las script
etiquetas que agregó en el procedimiento de página Crear una solución de granja de servidores y aplicación .
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());
}