Trabalhar com feeds sociais no SharePoint
Saiba mais sobre tarefas de programação comuns para trabalhar com feeds sociais e publicações de microblog no SharePoint.
APIs para trabalhar com feeds sociais no SharePoint
Nos farms no local do SharePoint, os feeds sociais interativos foram concebidos para incentivar as pessoas a partilhar informações e a manterem-se ligadas a pessoas e conteúdos. Você pode ver muitos dos recursos de alimentação na página do feed de notícias no site pessoal do usuário. Os feeds contêm coleções de segmentos que representam microblog postagens, conversas, atualizações de status e outras notificações.
O SharePoint fornece as seguintes APIs que pode utilizar para trabalhar programaticamente com feeds sociais:
Modelos de objeto do cliente para código gerenciado
Modelo de objeto do cliente .NET
Modelo de objeto do cliente Silverlight
Modelo de objeto do cliente móvel
Modelo de objeto do JavaScript
Serviço de Representational State Transfer (REST)
Modelo de objeto de servidor
Como prática recomendada no desenvolvimento do SharePoint, use APIs do cliente, sempre que possível. APIs de cliente incluem os modelos de objeto do cliente, o modelo de objeto do JavaScript e o serviço REST. Para obter mais informações sobre as APIs no SharePoint e quando utilizá-las, consulte Escolher o conjunto de API correto no SharePoint.
Cada API inclui um objeto gerente que você usar para executar tarefas relacionadas a alimentação do núcleo. A tabela 1 mostra o Gerenciador e outros objetos de chave (ou recursos do restante) as APIs e a biblioteca de classes (ou ponto de extremidade URI) onde você pode encontrá-los.
Observação
[!OBSERVAçãO] Modelos de objeto cliente móvel e do Silverlight não são explicitamente mencionados na tabela 1 ou tabela 2 porque eles fornecem a mesma funcionalidade de núcleo do modelo de objeto do cliente do .NET e usam as mesmas assinaturas. O modelo de objeto do cliente do Silverlight é definido em Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll e o modelo de objeto do cliente móvel é definido em Microsoft.SharePoint.Client.UserProfiles.Phone.dll.
Tabela 1. APIs do SharePoint utilizadas para trabalhar com feeds sociais através de programação
API | Objetos de chave |
---|---|
Modelo de objeto do cliente .NET Veja: How to: Create and delete posts and retrieve the social feed by using the .NET client object model in SharePoint (Como: Criar e eliminar publicações e obter o feed de redes sociais com o modelo de objeto de cliente .NET no SharePoint) |
Objeto de gestor: SocialFeedManager Espaço de nomes principal: Microsoft.SharePoint.Client.Social Outros objetos-chave: SocialFeed , SocialThread , SocialPost , SocialPostCreationData , SocialFeedOptions , SocialActor Biblioteca de classes: Microsoft.SharePoint.Client.UserProfiles.dll |
Modelo de objeto do JavaScript Veja Como: Criar e eliminar publicações e obter o feed de redes sociais com o modelo de objeto JavaScript no SharePoint |
Objeto de gestor: SocialFeedManager Espaço de nomes principal: SP. Social Outros objetos principais: SocialFeed, SocialThread, SocialPost, SocialPostCreationData, SocialFeedOptions, SocialActor Biblioteca de classes: SP.UserProfiles.js |
Serviço REST Veja Como: Saiba como ler e escrever no feed social com o serviço REST no SharePoint |
Recurso do gestor: social.feed (SocialRestFeedManager) Espaço de nomes principal (OData): SP. Social Outros recursos principais: SocialFeed, SocialRestFeed, SocialThread, SocialRestThread, SocialPost, SocialPostCreationData, SocialRestPostCreationData, SocialFeedOptions, SocialActor, SociaRestActor Ponto de acesso: <siteUri>/_api/social.feed |
Modelo de objeto do servidor Nota: o código que utiliza o modelo de objeto de servidor para aceder aos dados do feed e é executado remotamente tem de utilizar um objeto SPServiceContextScope . |
Objeto de gestor: SPSocialFeedManager Espaço de nomes principal: Microsoft.Office.Server.Social Outros objetos-chave: SPSocialFeed , SPSocialThread , SPSocialPost , SPSocialFeedOptions , SPSocialActor Biblioteca de classes: Microsoft.Office.Server.UserProfiles.dll |
Se estiver a utilizar o modelo de objeto de servidor para aceder ao conteúdo do feed e o código não estiver em execução numa instância do SharePoint (ou seja, se a extensão não estiver instalada na pasta LAYOUTS no servidor da aplicação), utilize um objeto SPServiceContextScope no seu código. O exemplo de código a seguir mostra uma maneira de incorporar o objeto SPServiceContextScope no seu código.
using (SPSite site = new SPSite(<siteURL>))
{
using (new Microsoft.SharePoint.SPServiceContextScope(SPServiceContext.GetContext(site)))
{
// code
}
}
Tarefas de programação comuns para trabalhar com feeds sociais no SharePoint
A tabela 2 mostra as tarefas comuns de programação para trabalhar com feeds sociais e os membros que você usar para realizá-las. Os membros são do modelo de objeto do cliente .NET (CSOM), o modelo de objeto do JavaScript (JSOM), serviço REST e o modelo de objeto de servidor (SSOM).
Tabela 2. API para tarefas de programação comuns para trabalhar com feeds sociais no SharePoint
Tarefa | Membros |
---|---|
Criar uma instância do objeto Gerenciador no contexto do usuário atual | CSOM: SocialFeedManager JSOM: SocialFeedManager REST: OBTER <siteUri>/_api/social.feed SSOM: SPSocialFeedManager |
Criar uma instância do objeto Gerenciador no contexto de um usuário específico | CSOM: não implementado JSOM: não foi implementado REST: não implementado SSOM: SPSocialFeedManager |
Obtenha o usuário para o contexto atual | CSOM: Proprietário JSOM: proprietário REST: OBTER <siteUri>/_api/social.feed/my SSOM: Proprietário |
Obtenha o feed para o usuário atual (especificar o tipo de alimentação) |
CSOM: GetFeed JSOM: getFeed REST: GET <siteUri>/_api/social.feed/my/Feed (feed.md pessoal), <siteUri>/_api/social.feed/my/News , <siteUri>/_api/social.feed/my/TimelineFeed ou <siteUri>/_api/social.feed/my/Likes SSOM: GetFeed |
Obtenha o pessoal do feed para um usuário específico | CSOM: GetFeedFor JSOM: getFeedFor REST: OBTER <siteUri>/_api/social.feed/actor(item='domain\\user')/Feed SSOM: GetFeedFor |
Obter o site feed de um site de equipe (especifique o URL do feed do site como ator (exemplo: http://< siteCollection>/<teamSite>/newsfeed.aspx)) |
CSOM: GetFeedFor JSOM: getFeedFor REST: OBTER <siteUri>/_api/social.feed/actor(item=@v)/Feed?@v='http://<siteCollection>/<teamSite>/newsfeed.aspx' SSOM: GetFeedFor |
Publicar uma postagem raiz feed do usuário atual (especificar null para o destino) |
CSOM: CreatePost JSOM: createPost REST: POST <siteUri>/_api/social.feed/my/Feed/Post e transmita o parâmetro restCreationData no corpo do pedidoSSOM: CreatePost |
Publicar uma postagem em um site de alimentação (especifique o URL do feed do site como destino (exemplo: http://< siteCollection>/teamSite>/newsfeed.aspx)) |
CSOM: CreatePost JSOM: createPost REST: POST <siteUri>/_api/social.feed/actor(item=@av)/feed/post/?@av='<teamSiteUri>/newsfeed.aspx' e transmita o parâmetro restCreationData no corpo do pedido (especifique nulo para o parâmetro ID )SSOM: CreatePost |
Publicar uma resposta a uma postagem (especificar a ID do thread-alvo) |
CSOM: CreatePost JSOM: createPost REST: POST <siteUri>/_api/social.feed/Post/Reply e transmita o parâmetro restCreationData no corpo do pedidoSSOM: CreatePost |
Excluir uma postagem, responder ou thread no usuário atual do feed (excluir uma postagem raiz exclui o segmento inteiro) | CSOM: DeletePost JSOM: deletePost REST: POST <siteUri>/_api/social.feed/Post/Delete e transmita o parâmetro ID no corpo do pedidoSSOM: DeletePost |
Obter um segmento (uma postagem raiz e todas as respectivas respostas) de feed do usuário | CSOM: GetFullThread JSOM: getFullThread REST: POST <siteUri>/_api/social.feed/Post e transmita o parâmetro ID no corpo do pedidoSSOM: GetFullThread |
Peça ao usuário como (ao contrário) ou responder | CSOM: LikePost ( UnlikePost ) JSOM: likePost ( ao contrário doPost) REST: POST <siteUri>/_api/social.feed/Post/Like ( <siteUri>/_api/social.feed/Post/Unlike ) e transmita o parâmetro ID no corpo do pedidoSSOM: LikePost ( UnlikePost ) |
Obter todos os likers para uma postagem | CSOM: GetAllLikers JSOM: getAllLikers REST: POST <siteUri>/_api/social.feed/Post/Likers e transmita o parâmetro ID no corpo do pedidoSSOM: GetAllLikers |
Obter as postagens que mencione um usuário | CSOM: GetMentions JSOM: getMentions REST: OBTER <siteUri>/_api/social.feed/my/MentionFeed SSOM: GetMentions |
Obter o número de menciona não lidas para o usuário atual | CSOM: GetUnreadMentionCount JSOM: getUnreadMentionCount REST: OBTER <siteUri>/_api/social.feed/my/UnreadMentionCount SSOM: GetUnreadMentionCount |
Bloqueio (desbloquear) um thread no usuário atual do feed | CSOM: LockThread ( UnlockThread ) JSOM: lockThread ( unlockThread) REST: POST <siteUri>/_api/social.feed/Post/Lock ( <siteUri>/_api/social.feed/Post/Unlock ) e transmita o parâmetro ID no corpo do pedidoSSOM: LockThread ( UnlockThread .md) |
Observação
O valor do marcador de posição domain\user no exemplo REST deve ser substituído pelo nome de conta de um utilizador real. Para ver como passar um parâmetro restante no corpo da solicitação, consulte os exemplos na referência da API REST alimentação Social.
O SharePoint não fornece uma API para personalizar diretamente o esquema ou a composição de mensagens de microblog. O SharePoint apenas fornece os dados e permite que as aplicações cliente entre plataformas e entre dispositivos definam esquemas adequados aos respetivos fatores e necessidades de formulário. No desenvolvimento do SharePoint, pode utilizar substituições de JavaScript na composição do lado do cliente, conforme descrito em Personalizar uma vista de lista em Suplementos do SharePoint com composição do lado do cliente.
Visão geral dos tipos de alimentação em My Site Social API
Feed de fatias de representar tipos de dados do feed. Quando você recupera um feed para o usuário atual, você pode especificar um dos seguintes tipos de alimentação:
Pessoal contém as postagens e atualizações que são geradas de um usuário. Em My Site, esse feed é mostrado na página do usuário sobre mim.
Notícias contém as atualizações que são geradas do usuário atual e para as pessoas e o conteúdo que o usuário siga e postagens. Quando você recupera as notícias tipo de alimentação, use a opção de ordem de classificação ByModifiedTime para obter atividades mais recentes (em cache) das pessoas que o usuário está seguindo. Em My Site, esse feed é mostrado na página de feed de notícias do usuário.
Linha do tempo tiver postagens e atualizações que são geradas do usuário atual e para as pessoas e o conteúdo que o usuário está seguindo. Linha do tempo é particularmente útil quando você deseja dados do feed de um intervalo de tempo específico ou quando você deseja classificar com a opção ByCreatedTime (que inclui a amostragem maior de pessoas).
Gosta contém segmentos de referência com uma propriedade PostReference que representa uma postagem que o usuário atual tem sinalizado com o atributo como.
Todos contém segmentos de toda a organização do usuário atual.
Os modelos de objeto de servidor, cliente e JavaScript fornecem o método GetFeed que você pode usar para recuperar qualquer tipo de alimentação para o usuário atual e o método de GetFeedFor que você pode usar para recuperar o pessoal feed tipo (somente) de um usuário específico. Ambos os métodos obtêm um objeto SocialFeedOptions como um parâmetro, que você pode usar para especificar a ordem de classificação com base no tempo, o intervalo de datas e o número máximo de segmentos para retornar.
Observação
[!OBSERVAçãO] O serviço REST fornece recursos separados para recuperar cada tipo de alimentação, como mostrado na tabela 2.
Se um thread contiver mais de duas respostas, o servidor retorna um resumo do segmento que contém somente as duas respostas mais recentes. (Resumos de thread tem o atributo de thread IsDigest aplicado.) Se você quiser obter todas as respostas em um thread, chamar o método GetFullThread do objeto Gerenciador de feeds e passar o identificador de segmento.
Confira também
Artigos conceituais e de orientação
Introdução ao desenvolvimento de recursos sociais no SharePoint
Como: aprender a ler e gravar no feed social usando o serviço REST no SharePoint
Como: Incluir menções, etiquetas e ligações para sites e documentos em publicações no SharePoint
Procedimentos: Incorporar imagens, vídeos e documentos em publicações no SharePoint
Tópicos de referência e threads de resumo em feeds sociais do SharePoint
Documentação de referência de API
Microsoft.SharePoint.Client.social (modelo de objeto do cliente)
SP.Namespace social (modelo de objeto doJavaScript )
Microsoft.Office.Server.social (modelo de objeto de servidor)