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/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 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çãoSSOM: 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çãoSSOM: 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çãoSSOM: 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çãoSSOM: 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çãoSSOM: 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çãoSSOM: 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çãoSSOM: 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
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, marcas e links para sites e documentos em postagens no SharePoint
Como inserir imagens, vídeos e documentos em postagens no SharePoint
Referenciar threads e digerir threads 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)