Partilhar via


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/TimelineFeedou <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 pedido
SSOM: 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 pedido
SSOM: 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 pedido
SSOM: 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 pedido
SSOM: 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 pedido
SSOM: 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 pedido
SSOM: 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 pedido
SSOM: 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