Compartir a través de


Incluir menciones, etiquetas y enlaces a sitios y documentos en los mensajes de SharePoint

Obtenga información sobre cómo agregar objetos SocialDataItem a las publicaciones de microblog, que se representan como menciones, etiquetas o vínculos en SharePoint fuentes sociales.

En una fuente social, la forma más sencilla de exponer contenido sólo contiene texto, pero también puede agregar vínculos que se representan como menciones, etiquetas o vínculos a sitios Web, sitios de SharePoint y documentos. Para ello, los objetos de SocialDataItem se agregan a la propiedad ContentItems del objeto SocialPostCreationData que define la entrada. Entradas pueden contener varios vínculos.

Nota

[!NOTA] Para agregar documentos, vídeos o imágenes incrustadas para el contenido de una entrada, se agregue un objeto SocialAttachment a la propiedad SocialPostCreationData.Attachment . Para obtener más información, vea How to: Embed images, videos, and documents in posts in SharePoint.

La API que se describe en este artículo es desde el modelo de objetos de cliente. NET. Sin embargo, si está utilizando otra API, como el JavaScript del modelo de objetos, los nombres de objeto o la API correspondiente puede ser diferente. Vea Recursos adicionales para obtener vínculos a documentación de API relacionadas.

Requisitos previos para usar los ejemplos de código para agregar vínculos a una publicación en SharePoint

Los ejemplos de código en este artículo muestran cómo agregar vínculos a entradas de microblog. Estos ejemplos son desde las aplicaciones de consola que usan los siguientes ensamblados de SharePoint:

  • Microsoft.SharePoint.Client

  • Microsoft. SharePoint. Client.Runtime

  • Microsoft. SharePoint. Client.UserProfilies

Para obtener instrucciones sobre cómo configurar el entorno de desarrollo y crear una aplicación de consola, vea How to: Create and delete posts and retrieve the social feed by using the .NET client object model in SharePoint.

Ejemplo: incluir vínculos a sitios web, SharePoint web y documentos en una publicación de SharePoint

En el ejemplo de código siguiente se publica una entrada de blog que contiene vínculos a un sitio Web, un sitio de SharePoint y un documento. Muestra cómo:

  • Crear objetos SocialDataItem que representan los vínculos. Cada instancia establece el campo SocialDataItemType para el tipo de vínculo, el texto para mostrar para el vínculo y a continuación, el identificador URI del vínculo.

  • Agregar marcadores de posición para el texto de entrada para indicar dónde debe aparecer el texto del vínculo Mostrar.

  • Agregue los objetos de vínculo a la propiedad ContentItems del objeto SocialPostCreationData que se usa para crear la entrada.

Nota

Actualmente, SharePoint controla los vínculos a sitios web, sitios SharePoint y documentos de la misma manera, pero como procedimiento recomendado, elija el tipo de sitio y el tipo de documento para SharePoint sitios y documentos.

En la fuente social, al hacer clic en un vínculo a un sitio Web, el sitio de SharePoint o el documento se abre el elemento en una ventana independiente del explorador.

Nota

[!NOTA] Cambie los valores de marcador de posición para las variables de dirección URL antes de ejecutar el código.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;

namespace IncludeLinksInPost
{
    class Program
    {
        static void Main(string[] args)
        {

            // Replace the following placeholder values with the actual values.
            const string serverUrl = "http://serverName/siteName/";
            const string websiteLinkUrl = "http://bing.com";
            const string siteLinkUrl = "http://serverName/siteName/";
            const string docLinkUrl = "http://serverName/Shared%20Documents/docName.txt";

            // Define the link to a website that you want to include in the post.
            SocialDataItem websiteLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Link,
                Text = "link to a website",
                Uri = websiteLinkUrl
            };

            // Define the link to a SharePoint site that you want to include in the post.
            SocialDataItem siteLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Site,
                Text = "link to a SharePoint site",
                Uri = siteLinkUrl
            };

            // Define the link to a document that you want to include in the post.
            SocialDataItem docLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Document,
                Text = "link to a document",
                Uri = docLinkUrl
            };

            // Add the links to the post's creation data.
            // Put placeholders ({n}) where you want the links to appear in the post text,
            // and then add the links to the post's content items.
            SocialPostCreationData postCreationData = new SocialPostCreationData();
            postCreationData.ContentText = "Check out this {0}, {1}, and {2}.";
            postCreationData.ContentItems = new SocialDataItem[3] {
                    websiteLink,
                    siteLink,
                    docLink
                };
            try
            {

                // Get the context and the SocialFeedManager instance.
                ClientContext clientContext = new ClientContext(serverUrl);
                SocialFeedManager feedManager = new SocialFeedManager(clientContext);

                // Publish the post. This is a root post to the user's feed, so specify
                // null for the targetId parameter.
                feedManager.CreatePost(null, postCreationData);
                clientContext.ExecuteQuery();
                Console.Write("The post was published.");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.Write("Error publishing the post: " + ex.Message);
                Console.ReadLine();
            }
        }
    }
}

Ejemplo: mencione a alguien en una publicación en SharePoint

En el ejemplo de código siguiente se publica una entrada que hace referencia a un usuario. Muestra cómo:

  • Cree un objeto SocialDataItem para representar una mención, que es un vínculo a un usuario. El SocialDataItem especifica el campo de SocialDataItemType.User y el nombre de la cuenta de la persona mencionado. Puede establecer el nombre de cuenta mediante el inicio de sesión de la persona o dirección de correo electrónico.

  • Agregar un marcador de posición para el texto de entrada para indicar dónde debe aparecer el nombre para mostrar de la persona mencionado.

  • Agregue el SocialDataItem a la propiedad ContentItems del objeto SocialPostCreationData que se usa para crear la entrada.

En la fuente social, al hacer clic en una mención redirige a la página acerca de la persona mencionado.

Nota

[!NOTA] Cambie los valores de marcador de posición para las variables serverURL y accountName antes de ejecutar el código.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;

namespace IncludeMentionInPost
{
    class Program
    {
        static void Main(string[] args)
        {

            // Replace the following placeholder values with the actual values.
            const string serverUrl = "http://serverName/siteName/";
            const string accountName = @"domain\\name or email address";

            // Define the mention link that you want to include in the post.
            SocialDataItem userMentionLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.User,
                AccountName = accountName
            };

            // Add the mention to the post's creation data.
            // Put a placeholder ({0}) where you want the mention to appear in the post text,
            // and then add the mention to the post's content items.
            SocialPostCreationData postCreationData = new SocialPostCreationData();
            postCreationData.ContentText = "{0} does great work!";
            postCreationData.ContentItems = new SocialDataItem[1] { userMentionLink, };

            try
            {

                // Get the context and the SocialFeedManager instance.
                ClientContext clientContext = new ClientContext(serverUrl);
                SocialFeedManager feedManager = new SocialFeedManager(clientContext);

                // Publish the post. This is a root post to the user's feed, so specify
                // null for the targetId parameter.
                feedManager.CreatePost(null, postCreationData);
                clientContext.ExecuteQuery();
                Console.Write("The post was published.");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.Write("Error publishing the post: " + ex.Message);
                Console.ReadLine();
            }
        }
    }
}

Ejemplo: incluir una etiqueta en una publicación en SharePoint

En el ejemplo de código siguiente se publica una entrada de blog que incluye una etiqueta. Muestra cómo:

En la fuente social, al hacer clic en una etiqueta redirige a la página acerca de la etiqueta. Si la etiqueta no existe, el servidor lo creará.

Nota

[!NOTA] Cambie los valores de marcador de posición para las variables serverURL y tagName antes de ejecutar el código.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Social;

namespace IncludeTagInPost
{
    class Program
    {
        static void Main(string[] args)
        {

            // Replace the following placeholder values with the actual values.
            const string serverUrl = "http://serverName/siteName/";
            const string tagName = "#" + "tagName";

            // Define the link to a tag that you want to include in the post. If the tag is new, the
            // server adds it to the tags collection.
            SocialDataItem tagLink = new SocialDataItem
            {
                ItemType = SocialDataItemType.Tag,
                Text = tagName
            };

            // Add the tag to the post's creation data.
            // Put a placeholder ({0}) where you want the tag to appear in the post text,
            // and then add the tag to the post's content items.
            SocialPostCreationData postCreationData = new SocialPostCreationData();
            postCreationData.ContentText = "I like {0}.";
            postCreationData.ContentItems = new SocialDataItem[1] { tagLink };

            try
            {

                // Get the context and the SocialFeedManager instance.
                ClientContext clientContext = new ClientContext(serverUrl);
                SocialFeedManager feedManager = new SocialFeedManager(clientContext);

                // Publish the post. This is a root post to the user's feed, so specify
                // null for the targetId parameter.
                feedManager.CreatePost(null, postCreationData);
                clientContext.ExecuteQuery();
                Console.Write("The post was published.");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.Write("Error publishing the post: " + ex.Message);
                Console.ReadLine();
            }
        }
    }
}

Ver también