Trabalhar com feeds sociais no SharePoint

Saiba mais sobre tarefas comuns de programação para trabalhar com feeds sociais e postagens de microblog no SharePoint.

APIs para trabalhar com feeds sociais no SharePoint

Nas fazendas locais do SharePoint, os feeds sociais interativos são projetados para incentivar as pessoas a compartilhar informações e a se manterem conectadas com pessoas e conteúdo. 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 você pode usar 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 usá-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 usadas para trabalhar com feeds sociais de forma programática

API Objetos-chave
Modelo de objeto do cliente .NET
Confira: Como criar e excluir postagens e recuperar o feed social usando o modelo de objeto cliente .NET no SharePoint
Objeto Manager: SocialFeedManager
Namespace primário: 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
Confira Como criar e excluir postagens e recuperar o feed social usando o modelo de objeto JavaScript no SharePoint
Objeto Manager: SocialFeedManager
Namespace primário: SP. Social
Outros objetos-chave: SocialFeed, SocialThread, SocialPost, SocialPostCreationData, SocialFeedOptions, SocialActor
Biblioteca de classes: SP.UserProfiles.js
Serviço REST
Confira Como ler e gravar no feed social usando o serviço REST no SharePoint
Recurso do gerenciador: social.feed (SocialRestFeedManager)
Namespace primário (OData): SP. Social
Outros recursos importantes: SocialFeed, SocialRestFeed, SocialThread, SocialRestThread, SocialPost, SocialPostCreationData, SocialRestPostCreationData, SocialFeedOptions, SocialActor, SociaRestActor
Ponto de acesso: <siteUri>/_api/social.feed
Modelo de objeto do servidor
Observação: o código que usa o modelo de objeto do servidor para acessar dados de feed e execuções remotamente deve usar um objeto SPServiceContextScope .
Objeto Manager: SPSocialFeedManager
Namespace primário: Microsoft.Office.Server.Social
Outros objetos-chave: SPSocialFeed , SPSocialThread , SPSocialPost , SPSocialFeedOptions , SPSocialActor
Biblioteca de classes: Microsoft.Office.Server.UserProfiles.dll

Se você estiver usando o modelo de objeto do servidor para acessar o conteúdo do feed e seu código não estiver em execução em uma instância do SharePoint (em outras palavras, se sua extensão não estiver instalada na pasta LAYOUTS no servidor de aplicativo), use um objeto SPServiceContextScope em 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 comuns de programação 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 comuns de programação 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 pessoais), <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 a URL do feed do site como o 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 passe o parâmetro restCreationData no corpo da solicitação
SSOM: CreatePost
Publicar uma postagem em um site de alimentação
(especifique a URL do feed do site como o 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 passe o parâmetro restCreationData no corpo da solicitação (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 passe o parâmetro restCreationData no corpo da solicitação
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 passe o parâmetro ID no corpo da solicitação
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 passe o parâmetro ID no corpo da solicitação
SSOM: GetFullThread
Peça ao usuário como (ao contrário) ou responder CSOM: LikePost ( UnlikePost )
JSOM: likePost ( ao contrário dePost)
REST: POST<siteUri>/_api/social.feed/Post/Like ( <siteUri>/_api/social.feed/Post/Unlike) e passe o parâmetro ID no corpo da solicitação
SSOM: LikePost ( UnlikePost )
Obter todos os likers para uma postagem CSOM: GetAllLikers
JSOM: getAllLikers
REST: POST<siteUri>/_api/social.feed/Post/Likers e passe o parâmetro ID no corpo da solicitação
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 passe o parâmetro ID no corpo da solicitação
SSOM: LockThread ( UnlockThread .md)

Observação

O valor domínio\espaço reservado do usuário no exemplo REST deve ser substituído pelo nome da conta de um usuário 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 o layout ou a renderização de postagens de microblog diretamente. O SharePoint fornece apenas os dados e permite que aplicativos cliente entre plataformas e dispositivos definam layouts apropriados para seus fatores e necessidades de formulário. No desenvolvimento do SharePoint, você pode usar substituições javaScript na renderização do lado do cliente, conforme descrito em Personalizar uma exibição de lista em Suplementos do SharePoint usando renderizaçã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