Partilhar via


Integração do Yammer no modelo de suplemento do SharePoint

Resumo

A abordagem que você adota para integrar o Yammer ao SharePoint é a mesma no novo modelo de suplemento do SharePoint que é com o Código de Confiança Total.

Diretrizes de alto nível

Como regra geral, gostaríamos de fornecer as diretrizes de alto nível a seguir para integrar o Yammer ao SharePoint.

  • A integração do Yammer pode ser usada em ambientes locais e Office 365 SharePoint.
  • Você pode usar o padrão de provisionamento remoto para criar grupos do Yammer e/ou objetos Do Yammer OpenGraph para facilitar conversas ao criar novos sites do SharePoint.
  • Você pode usar a funcionalidade de inserção fora da caixa para integrar rapidamente e facilmente o Yammer ao SharePoint.
    • Para usar o inserção, você precisa de um contêiner HTML de 400 pixels ou maior em seu aplicativo.
  • Você pode usar os SDKs do Yammer e as APIs REST para criar a funcionalidade de integração personalizada.

Opções para integrar o Yammer ao SharePoint

Você tem algumas opções para integrar o Yammer ao SharePoint.

  • Yammer Web Parts
  • Incorporar
    • Agrupar, tópico, meu e feeds de usuário
    • OpenGraph Feeds
  • API do Yammer OpenGraph e/ou API REST do Yammer com SDKs do Yammer

Yammer Web Parts

Duas web parts são incluídas para integrar conversas do Yammer em uma página da Web do SharePoint. Ao adicionar uma Web Part a uma página moderna, insira o termo de pesquisa "yammer" para exibir as Web Parts disponíveis:

Web parts padrão do Yammer incluídas no SharePoint

Depois de adicionar uma Web Part à página, configure-a usando o painel de propriedades para incluir as conversas desejadas do Yammer.

Configuração da Web Part do Yammer Conversation

Incorporar

Nesta opção, você insira um feed do Yammer em uma página da Web do SharePoint.

  • Essa opção é implementada de forma rápida e fácil.
  • Essa opção permite controlar aspectos limitados do feed e como ele aparece.

Usar o inserção se parece com isso em sua página do SharePoint:

Uma página padrão do site de equipe do SharePoint com uma caixa de texto que contém o texto, Iniciar uma conversa. Abaixo da caixa de texto está uma caixa de lista que exibe um thread de conversa do Yammer.

A tabela a seguir descreve cada tipo de feed do Yammer que você pode acessar com inserção fora da caixa.

Feed Descrição FeedType Caso de uso
Meu Feed Meus Feeds são onde as conversas são entregues para usuários do Yammer. MyFeed Página inicial do Site ou site de workspace.
Feed de Usuário Todas as conversas postadas por um usuário específico no Yammer. Usuário Páginas de perfil para usuários em um diretório do sistema.
Feed de Tópicos Um feed de conversas que foram marcadas com um tópico no Yammer. Tópico Uma página de evento em uma intranet.
Feed de Grupo Um feed de conversas que foram postadas em um grupo especificado. Agrupar Uma página de equipe em uma intranet.

Se você precisar ir além das funcionalidades dos feeds do Yammer fora da caixa na tabela acima, poderá usar a opção de inserção do OpenGraph. Essa opção oferece mais controle do feed. A tabela a seguir ilustra esse exemplo.

Feed Descrição FeedType Caso de uso
Feed de Comentários Usa o Yammer's Open API do Graph para facilitar a conversa em torno de um objeto de aplicativo. Personalizado Uma oportunidade em um aplicativo CRM personalizado ou uma página de detalhes de mídia em um sistema de gerenciamento de ativos digitais.

Quando isso é apropriado?

Quando você está tentando integrar feeds do Yammer com sites do SharePoint e as funcionalidades fora da caixa do feed inserido atendem às suas necessidades.

Introdução

O exemplo a seguir demonstra como provisionar sites com um feed do Yammer associado ao site no lugar do feed de notícias padrão para o site.

O método CreateYammerGroupDiscussionPartXml na classe YammerUtility.cs vem do exemplo OfficeDevPnP.Core . Esse método cria o XML para uma definição de Parte de Suplemento que é adicionada a uma página do SharePoint quando um site é provisionado. Observe a parte feedType: 'group' do código. Aqui você pode ver que o feedType está definido para usar o feedType de grupo fora da caixa.

public static string CreateYammerGroupDiscussionPartXml(string yammerNetworkName, int yammerGroupId, bool showHeader, bool showFooter, bool useSSO = true)
{
    StringBuilder wp = new StringBuilder(100);
    wp.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
    wp.Append("<webParts>");
    wp.Append("	<webPart xmlns='http://schemas.microsoft.com/WebPart/v3'>");
    wp.Append("		<metaData>");
    wp.Append("			<type name='Microsoft.SharePoint.WebPartPages.ScriptEditorWebPart, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' />");
    wp.Append("			<importErrorMessage>Cannot import this web part.</importErrorMessage>");
    wp.Append("		</metaData>");
    wp.Append("		<data>");
    wp.Append("			<properties>");
    wp.Append("				<property name='Title' type='string'>$Resources:core,ScriptEditorWebPartTitle;</property>");
    wp.Append("				<property name='Description' type='string'>$Resources:core,ScriptEditorWebPartDescription;</property>");
    wp.Append("				<property name='ChromeType' type='chrometype'>None</property>");
    wp.Append("				<property name='Content' type='string'>");
    wp.Append("				<![CDATA[");
    wp.Append("				    <div id='embedded-feed' style='height: 500px;'></div>");
    wp.Append("				    <script type='text/javascript' src='https://assets.yammer.com/assets/platform_embed.js'></script>");
    wp.Append("				    <script type='text/javascript'>  
                yam.connect.embedFeed({ container: '#embedded-feed', network: '"
                + yammerNetworkName
                + @"', feedType: 'group', feedId: '" + yammerGroupId			
                + @"', config: { use_sso: " + useSSO.ToString().ToLower()			
                + @", header: " + showHeader.ToString().ToLower()
                + @", footer: " + showFooter.ToString().ToLower()
                + " }}); </script>");
    wp.Append("				]]>");
    wp.Append("				</property>");
    wp.Append("			</properties>");
    wp.Append("		</data>");
    wp.Append("	</webPart>");
    wp.Append("</webParts>");

    return wp.ToString();
}

O método CreateYammerOpenGraphDiscussionPartXml na classe YammerUtility.cs vem do exemplo OfficeDevPnP.Core . Esse método cria o XML para uma definição de Parte de Suplemento que é adicionada a uma página do SharePoint quando um site é provisionado. Observe a parte feedType: 'open-graph' do código. Aqui você pode ver que o feedType está definido para usar a API do OpenGraph.

public static string CreateYammerOpenGraphDiscussionPartXml(string yammerNetworkName, string url, bool showHeader, 
                                                            bool showFooter, string postTitle="", string postImageUrl="", 
                                                            bool useSso = true, string groupId = "")
{
    StringBuilder wp = new StringBuilder(100);
    wp.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
    wp.Append("<webParts>");
    wp.Append("	<webPart xmlns='http://schemas.microsoft.com/WebPart/v3'>");
    wp.Append("		<metaData>");
    wp.Append("			<type name='Microsoft.SharePoint.WebPartPages.ScriptEditorWebPart, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' />");
    wp.Append("			<importErrorMessage>Cannot import this web part.</importErrorMessage>");
    wp.Append("		</metaData>");
    wp.Append("		<data>");
    wp.Append("			<properties>");
    wp.Append("				<property name='Title' type='string'>$Resources:core,ScriptEditorWebPartTitle;</property>");
    wp.Append("				<property name='Description' type='string'>$Resources:core,ScriptEditorWebPartDescription;</property>");
    wp.Append("				<property name='ChromeType' type='chrometype'>None</property>");
    wp.Append("				<property name='Content' type='string'>");
    wp.Append("				<![CDATA[");
    wp.Append("				    <div id='embedded-feed' style='height: 500px;'></div>");
    wp.Append("				    <script type='text/javascript' src='https://assets.yammer.com/assets/platform_embed.js'></script>");
    wp.Append("				    <script>");
    wp.Append("				        yam.connect.embedFeed({");
    wp.Append("				          container: '#embedded-feed'");
    wp.Append("				                , feedType: 'open-graph'");
    wp.Append("				                , feedId: ''");
    wp.Append("				                , config: {");
    wp.Append("				                     use_sso: " + useSso.ToString().ToLower());
    wp.Append("				                     , header: " + showHeader.ToString().ToLower());
    wp.Append("				                     , footer: " + showFooter.ToString().ToLower());
    wp.Append("				                     , showOpenGraphPreview: false");
    wp.Append("				                     , defaultToCanonical: false");
    wp.Append("				                     , hideNetworkName: false");
    wp.Append("				                     , promptText: 'Start a conversation'");
    if (!string.IsNullOrEmpty(groupId))
    {
        wp.Append("				                 , defaultGroupId: '" + groupId + "'"); 
    }
    wp.Append("				                }");
    wp.Append("				                , objectProperties: {"); 
    wp.Append("				                  url: '" + url + "'");
    wp.Append("				                  , type: 'page'");
    wp.Append("				                  , title: '" + postTitle + "'");
    wp.Append("				                  , image: '" + postImageUrl + "'");
    wp.Append("				                }");
    wp.Append("				            });");
    wp.Append("				        </script>");
    wp.Append("				]]>");
    wp.Append("				</property>");
    wp.Append("			</properties>");
    wp.Append("		</data>");
    wp.Append("	</webPart>");
    wp.Append("</webParts>");

    return wp.ToString();
}

Assista aos feeds integrar o Yammer aos sites do SharePoint (O365 PnP Video) para ver um passo a passo do - Provisioning.Yammer (Exemplo de PnP O365).

Para obter mais informações sobre o inserção do Yammer, consulte o artigo Do Yammer Embed Feed (Yammer Developer Center).

Para obter mais informações sobre o Yammer OpenGraph, consulte o artigo Open Graph Introduction & Format (Yammer Developer Center).

API do Yammer OpenGraph & API REST do Yammer com SDKs do Yammer

Nesta opção, você usa a API do Yammer OpenGraph e/ou a API REST do Yammer com SDKs do Yammer para integrar o Yammer ao SharePoint. Essas APIs também podem ser usadas para integrar o Yammer a processos fora das páginas da Web. Exemplos desses cenários incluem serviços e operações de execução longa.

  • Essa opção leva mais tempo para ser implementada.
  • Essa opção permite controlar todos os aspectos do feed e como ele é exibido e como você interage com ele.

Quando isso é apropriado?

  • Quando você está tentando integrar feeds do Yammer com sites do SharePoint e as funcionalidades fora da caixa dos feeds inseridos não atendem às suas necessidades.
  • Quando você está tentando integrar feeds do Yammer em serviços ou operações de execução longa.

Introdução

Para obter mais informações sobre o Yammer OpenGraph, consulte o artigo Open Graph Introduction & Format (Yammer Developer Center).

Os SDKs do Yammer fornecem a capacidade de autenticação no Yammer. Para obter mais informações sobre os SDKs do Yammer, confira os seguintes artigos:

Depois de autenticar o Yammer por meio dos SDKs do Yammer, você pode chamar as APIs REST do Yammer.

Para obter mais informações sobre APIs REST do Yammer, consulte o artigo limites de taxa de & da API REST (Centro de Desenvolvedores do Yammer).

Observação de autenticação

Em um cenário em que você entra no SharePoint com credenciais diferentes das credenciais que você usa para entrar no SharePoint com você pode querer desenvolver uma funcionalidade de logon único para seus usuários. Um exemplo desse cenário é quando você entra no SharePoint com um LiveID e precisa entrar no Yammer com uma conta pessoal ou de trabalho da Microsoft.

Para implementar um cenário de logon único, você pode orientar seus usuários a entrar no Yammer na primeira vez que eles chegarem a uma página do SharePoint com seu componente do Yammer personalizado. Depois que o usuário entrar no Yammer por meio do SDK do Yammer, você poderá armazenar o token de atualização para o usuário em seu perfil de usuário. Em seguida, em visitas subsequentes à página, você pode recuperar o token de atualização do perfil de usuário e usá-lo para autenticar. Com essa abordagem, os usuários finais só precisam entrar no Yammer quando o token de atualização expirar.

Aplicável a

  • Office 365 Multilocatário (MT)
  • Office 365 dedicado (D)
  • SharePoint 2013 local