{"id":1091,"date":"2013-12-10T11:00:25","date_gmt":"2013-12-10T10:00:25","guid":{"rendered":"http:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?p=1091"},"modified":"2013-12-10T11:23:36","modified_gmt":"2013-12-10T10:23:36","slug":"compartimoss-18-motivos-por-los-que-leerlos","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/","title":{"rendered":"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela"},"content":{"rendered":"<p>Como cada tres meses, acaba de ver la luz el tercer n\u00famero de la revista digital <a href=\"http:\/\/www.compartimoss.com\" target=\"_blank\">CompartiMOSS<\/a>. Para aquellos que no la conozc\u00e1is CompartiMOSS es la \u00fanica revista escrita en Espa\u00f1ol dedicada integramente a SharePoint y a las tecnolog\u00edas relacionadas. Este dirigida por cuatro MVP&#8217;s de SharePoint <a href=\"https:\/\/twitter.com\/jcgm1978\" target=\"_blank\">Juan Carlos Gonzalez<\/a>, <a href=\"https:\/\/twitter.com\/adiazcan\" target=\"_blank\">Alberto D\u00edaz<\/a>, Gustavo Velez y <a href=\"https:\/\/twitter.com\/fabianimaz\" target=\"_blank\">Fabi\u00e1n Imaz<\/a>, con lo que teniendo semejantes directores seguro que nada malo puede salir.<\/p>\n<p>Este n\u00famero es un tanto especial para m\u00ed por varios motivos: <!--more--><\/p>\n<ol>\n<li>Sale un art\u00edculo resumen de lo que fue la Iberian SharePoint en la que los miembros de la organizaci\u00f3n de la Conferencia hemos escrito nuestras experiencias y repasamos lo bueno y lo malo de la misma pod\u00e9is leerlo en el siguiente <a href=\"http:\/\/www.compartimoss.com\/revistas\/numero-18\/iberian-sharepoint-conference-resumen\" target=\"_blank\">link<\/a>.<\/li>\n<li>Se presenta oficialmente la Comunidad de Office 365 en la que, como he comentado con anterioridad, estamos involucrados intentando acercar el conocimiento de los diversos productos que lo componen de la mano de cracks como Alberto Pascual, Peter Diaz, Palel, Rafael Ansino, Alberto D\u00edaz, JC Gonzalez, Santiago Porras y un servidor. En el siguiente <a href=\"http:\/\/www.compartimoss.com\/revistas\/numero-18\/comunidad-de-office-365\" target=\"_blank\">link <\/a>hay m\u00e1s informaci\u00f3n al respecto, pronto contaremos novedades y no puedo decir m\u00e1s \ud83d\ude42<\/li>\n<li>Es el primer n\u00famero que los art\u00edculos se pueden leer desde un dispositivo <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.compartimossAPP.app&amp;hl=es_419\" target=\"_blank\">Android<\/a> y en un dispositivo IOS cuando los se\u00f1ores de Apple se dignen a revisar la APP. Estas Apps las hemos implementado en <a href=\"http:\/\/www.encamina.com\" target=\"_blank\">ENCAMINA <\/a>y vienen a seguir con nuestra visi\u00f3n sobre un<a href=\"http:\/\/blogs.encamina.com\/returnvalue\/2013\/11\/17\/presentacion-en-el-upv-encamina-quienes-somos-y-como-trabajamos\/\" target=\"_blank\"> SharePoint Everywhere<\/a> tal y como explica Iwan en las siguiente presentaci\u00f3n.<\/li>\n<li>Finalmente he escrito un articulo de introducci\u00f3n al desarrollo sobre Yammer, como bien sab\u00e9is desde ENCAMINA estamos seguros de la utilidad de Yammer como Herramienta social para una intranet, y todo el partido que se le puede sacar, aunque eso no impida que no seamos cr\u00edticos con el roadmap que est\u00e1n proponiendo. Pode\u00eds leer el art\u00edculo en el siguiente <a href=\"http:\/\/www.compartimoss.com\/revistas\/numero-18\/introduccion-al-desarrollo-para-yammer\" target=\"_blank\">link<\/a><\/li>\n<\/ol>\n<h2>Introducci\u00f3n a Yammer<\/h2>\n<p>Yammer desde que fue adquirida por Microsoft (por una cantidad cercana \u00a0a los 1.000 millones de euros) es uno de los productos que m\u00e1s miradas tiene puestas sobre \u00e9l, sobre todo, las dudas giran en torno a\u00a0 cu\u00e1l va a ser su integraci\u00f3n con el resto de productos incluidos dentro de Office 365. Pero m\u00e1s all\u00e1 de lo que depare el futuro, Yammer ya incorpora una serie de herramientas para poder hacer uso de la informaci\u00f3n de la plataforma en nuestros desarrollos. Dicha informaci\u00f3n se puede usar desde cualquier plataforma y dispositivo, pero naturalmente nos vamos a centrar en c\u00f3mo explotarla en nuestros desarrollos para SharePoint.<\/p>\n<p>En primer lugar, tenemos que tener claro qu\u00e9 es lo que es lo que podemos hacer y qu\u00e9 es lo que no podemos hacer cuando estamos implementando una aplicaci\u00f3n utilizando Yammer.\u00a0 A Yammer como tal no le podemos incluir ninguna funcionalidad nueva, es decir, NO podemos a\u00f1adir ning\u00fan nuevo funcionamiento a Yammer. Por ejemplo, que cuando se suba un documento a Yammer que se suba directamente a una biblioteca de SharePoint o que le llegue una notificaci\u00f3n a determinada persona. Esto no lo podemos hacer.<\/p>\n<p>\u00bfQu\u00e9 es lo que podemos hacer con Yammer?\u00a0 Podemos utilizar Yammer de la misma forma que se desarrollan herramientas\/aplicaciones para Twitter, Facebook, y el resto de redes sociales que hay en el mercado. Hacer uso de la informaci\u00f3n que hay en ella tiene la finalidad de adaptarla a nuestros requisitos. Yammer no tiene sentido en el contexto de una plataforma que lo hace todo, su funcionalidad es la de fomentar la colaboraci\u00f3n entre los integrantes de un equipo, organizaci\u00f3n, etc. Por tanto, desarrollar herramientas basadas en Yammer tiene sentido en el caso de dotar este aspecto social a nuestro desarrollo.<\/p>\n<p><strong>Requisitos Previos<\/strong><\/p>\n<p>Para poder desarrollar sobre Yammer, debemos tener una versi\u00f3n de pago de Yammer (bien tenerlo de forma individual o bien en uno de los planes de Office 365). Con esto nosotros podemos crear \u00abApps de Yammer\u00bb y hacer uso de las herramientas de desarrollos (SDK) disponibles para Yammer.<\/p>\n<p><strong>Empezando a utilizar Yammer en nuestra APP<\/strong><\/p>\n<p>En este art\u00edculo vamos a desarrollar una APP de tipo SharePoint Hosted en la que vamos a consultar la informaci\u00f3n relativa al Feed de Yammer, asimismo, vamos a introducir un comentario en la red de Yammer. Del mismo modo, realizaremos un repaso a todas las opciones posibles que tenemos haciendo uso de la API REST de Yammer.<\/p>\n<p><strong>\u00bfPor d\u00f3nde empezar?<\/strong><\/p>\n<p>Para empezar a utilizar la API REST de Yammer o bien el SDK de Yammer, en primer lugar tendremos que indicar a Yammer que vamos a desarrollar una APP que se va a comunicar con Yammer.\u00a0 Este concepto se denomina APP en Yammer. Estas Apps no est\u00e1n almacenadas en ninguna tienda ni tienen ning\u00fan tipo de requisito en cuanto al lenguaje en el que se implementa la misma.\u00a0 De la tal forma que, estas Apps una vez las definimos, solamente la podemos utilizar en nuestra propia red de Yammer. Por lo que, si nuestro objetivo es hacer una APP que salga en un tipo de mercado como pueda ser la Office Store o la Windows Store, deberemos solicitarle a Yammer que nuestra aplicaci\u00f3n pueda ser utiliza en todas las redes de Yammer. Apps de este tipo, por ejemplo, son las Aplicaciones de Escritorio de Yammer, las aplicaciones para los diversos tipos de dispositivos m\u00f3viles, etc. Se pueden consultar estas aplicaciones en la siguiente url\u00a0<a href=\"https:\/\/www.yammer.com\/%20\/apps?from=nav\">https:\/\/www.yammer.com\/ \/apps?from=nav<\/a><\/p>\n<p><strong>\u00bfC\u00f3mo Creamos una APP de Yammer?<\/strong><\/p>\n<p>Accedemos a nuestra red de Yammer. A continuaci\u00f3n, en la parte de nuestro login tenemos la opci\u00f3n de crear la APP.<\/p>\n<p><img decoding=\"async\" alt=\"Imagen 1.- Crear una APP de Yammer\" src=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png\" \/><\/p>\n<p><span style=\"color: #000000;\">Ahora registramos el nombre de la APP que vamos a crear:<\/span><\/p>\n<p><img decoding=\"async\" alt=\"Imagen 2.- Registrar Aplicaci\u00f3n Yammer\" src=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen2.png\" \/><\/p>\n<p><span style=\"color: #000000;\">Una vez rellenados los datos, se visualiza una pantalla con las llaves y los Tokens necesarios para poder utilizar Yammer en nuestros desarrollos.<\/span><\/p>\n<p><img decoding=\"async\" alt=\"Imagen 3.- Keys y Tokens de Yammer\" src=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen3.png\" \/><\/p>\n<p>Registrar la APP dentro de Yammer nos permite utilizar el SDK de Yammer y su API REST en nuestros desarrollos.<\/p>\n<p><strong>SDK de Yammer<\/strong><\/p>\n<p>El SDK de Yammer solo dispone de implementaciones en JavaScript, Ruby y Python. Por lo tanto, si vamos a utilizar estos lenguajes de programaci\u00f3n, tendremos la ventaja de que ya tenemos implementada la Autenticaci\u00f3n de nuestra App contra Yammer. Y tambi\u00e9n tenemos incorporado el poder hacer peticiones a la API REST encapsuladas de forma que no tenemos que preocuparnos por evitar las peticiones de tipo Cross-Domain. Es decir, nos evita muchos quebraderos de cabeza en nuestros desarrollos.<\/p>\n<p><strong>API REST<\/strong><\/p>\n<p>Yammer proporciona una interfaz RESTfull a los recursos de la interfaz web Yammer, por ejemplo: mensajes, usuarios, grupos, etc. Una vez que la aplicaci\u00f3n ha autenticado un usuario Yammer, puede llamar a un punto final de la API REST utilizando el token de acceso obtenido y obtener los recursos correspondientes.<\/p>\n<p>La principal ventaja de utilizar la API REST de Yammer es que la podemos utilizar independientemente del lenguaje que vayamos a utilizar. Aunque su principal desventaja es que tendremos que implementarnos la autenticaci\u00f3n y la forma en la que vamos a realizar las llamadas para evitar que el propio navegador nos bloquee estas peticiones.<\/p>\n<p>Para este ejemplo vamos a utilizar el SDK de Yammer para JavaScript ya que vamos a hacer una Aplicaci\u00f3n SharePoint-Hosted. \u00a0Y vamos a consumir la API REST desde este SDK para evitar tener problemas de Cross-domain y que nos bloqueen las peticiones que realizamos.<\/p>\n<p>\u00bfQu\u00e9 son los problemas de Cross-Domain?\u00a0 Los navegadores, por cuestiones de seguridad, bloquean todas las peticiones realizadas mediante XMLHttpRequest a dominios que no sean el que aloja la p\u00e1gina desde la que se est\u00e1 usando.<\/p>\n<p>Para evitar estos problemas, podemos hacer uso de peticiones JSONP, pero no entran dentro del alcance de este art\u00edculo.<\/p>\n<p><strong>Peticiones a la API REST<\/strong><\/p>\n<p><strong>1.- Sobre los Mensajes de Yammer:<\/strong><\/p>\n<p>1. Todos los mensajes p\u00fablicos de la red Yammer del usuario actual. Corresponde a las conversaciones \u00abAll\u00bb en la interfaz web de Yammer.<\/p>\n<div>\n<div id=\"highlighter_275358\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages.json\">https:\/\/www.yammer.com\/api\/v1\/messages.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages.json\">https:\/\/www.yammer.com\/api\/v1\/messages.json<\/a>&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2. El Feed del usuario, que corresponde a una mezcla con las conversaciones \u00abTOP\u00bb y las conversaciones de tus seguidores.<\/p>\n<div>\n<div id=\"highlighter_91927\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET https:<\/code><code>\/\/www.yammer.com\/api\/v1\/messages\/my_feed.json&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">3. El Feed de tus \u201cseguidores\u201d, que son conversaciones de personas, topics y documentos que el usuario sigue.<\/span><\/p>\n<div>\n<div id=\"highlighter_363141\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages\/following.json\">https:\/\/www.yammer.com\/api\/v1\/messages\/following.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages\/following.json\">https:\/\/www.yammer.com\/api\/v1\/messages\/following.json<\/a>&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>4.\u00a0<span style=\"color: #000000;\">Todos los mensajes enviados por el usuario.<\/span><\/p>\n<div>\n<div id=\"highlighter_225693\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"ES-UY\"<\/code><code>&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json\">https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json\">https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json<\/a>&lt;\/a&gt;&lt;\/span&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>5.\u00a0<span style=\"color: #000000;\">Los mensajes privados recibidos por el usuario.<\/span><\/p>\n<div>\n<div id=\"highlighter_627252\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET https:<\/code><code>\/\/www.yammer.com\/api\/v1\/messages\/private.json&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>6.\u00a0<span style=\"color: #000000;\">Todos los mensajes recibidos por el usuario.<\/span><\/p>\n<div>\n<div id=\"highlighter_408276\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET https:<\/code><code>\/\/www.yammer.com\/api\/v1\/messages\/received.json&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>A todas estas peticiones se le pueden a\u00f1adir los siguientes par\u00e1metros:<\/p>\n<ul>\n<li><strong>older_than<\/strong>: Retorna mensajes anteriores al ID de mensaje especificado como una cadena num\u00e9rica. Esto es \u00fatil para paginar mensajes. Por ejemplo, si se est\u00e1n viendo 20 mensajes y el m\u00e1s antiguo es el n\u00famero 2912, se puede agregar \u00ab? Older_than = 2912\u00bb a su solicitud de obtener los 20 mensajes anteriores a los que se est\u00e1 viendo.<\/li>\n<li><strong>newer_than:\u00a0<\/strong>Entrega mensajes m\u00e1s nuevos que el ID de mensaje especificado como una cadena num\u00e9rica. Esto se debe utilizar cuando la votaci\u00f3n para nuevos mensajes. Si se est\u00e1 buscando en los mensajes, y el mensaje m\u00e1s reciente devuelto es 3516, se puede hacer una petici\u00f3n con el par\u00e1metro \u00ab? Newer_than = 3516\u00bb para asegurarse de que no recibe copias duplicadas de mensajes ya en su p\u00e1gina.<\/li>\n<li><strong>threaded=[true | extended]:<\/strong><strong>\u00a0\u00a0<\/strong>threaded=true indica que solamente se muestra el primer mensaje de cada hilo. Threaded=extended devolver\u00e1 los mensajes del thread con la actividad m\u00e1s reciente, as\u00ed como los dos mensajes m\u00e1s recientes de dicho thread.<\/li>\n<li><strong>Limit:\u00a0<\/strong>indica el n\u00famero de elementos que devuelve.<\/li>\n<\/ul>\n<p><strong>Modificaciones sobre Mensajes:<\/strong><\/p>\n<p>1.- Crear un nuevo Mensaje.<\/p>\n<div>\n<div id=\"highlighter_926765\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;POST https:<\/code><code>\/\/www.yammer.com\/api\/v1\/messages.json&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">2.- Eliminar un Mensaje (creado por el usuario que realiza la petici\u00f3n).<\/span><\/p>\n<div>\n<div id=\"highlighter_939639\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json\">https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json\">https:\/\/www.yammer.com\/api\/v1\/messages\/sent.json<\/a>&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>A estas peticiones les tenemos que a\u00f1adir una serie de par\u00e1metros con la finalidad de indicar si se lo queremos enviar a un determinado usuario, que se muestre en un determinado hilo\/grupo etc. Estos son los par\u00e1metros que podemos utilizar:<\/p>\n<ul>\n<li><strong>Body<\/strong>: El texto del mensaje.<\/li>\n<li><strong>group_id<\/strong>: El ID del grupo donde queremos que se muestre el mensaje posteado<\/li>\n<li><strong>replied_to_id<\/strong>: El ID del mensaje en el que se va a contestar<\/li>\n<li><strong>direct_to_id<\/strong>: Enviar un mensaje privado al usuario indicado.<\/li>\n<li><strong>Topicn<\/strong>: Topics que est\u00e1n aplicados en este mensaje.<\/li>\n<\/ul>\n<p><strong>Ver todos los mensajes de un determinado Hilo:<\/strong><\/p>\n<p>Para ello es necesario el ID del thread que queremos visualizar.<\/p>\n<div>\n<div id=\"highlighter_202476\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/threads\/%5b:id%5d.json\">https:\/\/www.yammer.com\/api\/v1\/threads\/%5b:id%5d.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/threads\/\">https:\/\/www.yammer.com\/api\/v1\/threads\/<\/a>[:id].json&lt;\/a&gt;&lt;\/span&gt;&lt;\/span&gt;\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>Like:<\/strong><\/p>\n<p>1) Indica que el mensaje especificado le gusta al usuario actual.<\/p>\n<div>\n<div id=\"highlighter_790742\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;POST https:<\/code><code>\/\/www.yammer.com\/api\/v1\/messages\/liked_by\/current.json?message_id=[:id]&lt;\/span&gt;\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2)\u00a0<span style=\"color: #000000;\">Elimina el Like dado con anterioridad<\/span><\/p>\n<div>\n<div id=\"highlighter_540251\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>DELETE https:<\/code><code>\/\/www.yammer.com\/api\/v1\/messages\/liked_by\/current.json?message_id=[:id]<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>2.- Usuario de Yammer<\/strong><\/p>\n<p>1. Obtener todos los usuarios de la red de Yammer.<\/p>\n<div>\n<div id=\"highlighter_339574\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users.json\">https:\/\/www.yammer.com\/api\/v1\/users.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users.json\">https:\/\/www.yammer.com\/api\/v1\/users.json<\/a>&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>2.\u00a0<span style=\"color: #000000;\">Ver todos los datos del usuario Actual.<\/span><\/p>\n<div>\n<div id=\"highlighter_358709\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/current.json\">https:\/\/www.yammer.com\/api\/v1\/users\/current.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/current.json\">https:\/\/www.yammer.com\/api\/v1\/users\/current.json<\/a>&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>3.\u00a0<span style=\"color: #000000;\">Ver la informaci\u00f3n de un determinado usuario.<\/span><\/p>\n<div>\n<div id=\"highlighter_366132\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/%5b:id%5d.json\">https:\/\/www.yammer.com\/api\/v1\/users\/%5b:id%5d.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/\">https:\/\/www.yammer.com\/api\/v1\/users\/<\/a>[:id].json&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>4. Usuarios en un determinado grupo.<\/p>\n<div>\n<div id=\"highlighter_391936\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/in_group\/%5b:id%5d.json\">https:\/\/www.yammer.com\/api\/v1\/users\/in_group\/%5b:id%5d.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/in_group\/\">https:\/\/www.yammer.com\/api\/v1\/users\/in_group\/<\/a>[:id].json&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>5.\u00a0<span style=\"color: #000000;\">Crear un nuevo usuario<\/span><\/p>\n<div>\n<div id=\"highlighter_676007\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;POST &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users.json\">https:\/\/www.yammer.com\/api\/v1\/users.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users.json\">https:\/\/www.yammer.com\/api\/v1\/users.json<\/a>&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>6.\u00a0<span style=\"color: #000000;\">Actualizar informaci\u00f3n del usuario<\/span><\/p>\n<div>\n<div id=\"highlighter_366572\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;PUT &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/%5b:id%5d.json\">https:\/\/www.yammer.com\/api\/v1\/users\/%5b:id%5d.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/\">https:\/\/www.yammer.com\/api\/v1\/users\/<\/a>[:id].json&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>7.\u00a0<span style=\"color: #000000;\">Eliminar un determinado usuario<\/span><\/p>\n<div>\n<div id=\"highlighter_217745\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>DELETE &lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/%5b:id%5d.json\">https:\/\/www.yammer.com\/api\/v1\/users\/%5b:id%5d.json<\/a>\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/users\/\">https:\/\/www.yammer.com\/api\/v1\/users\/<\/a>[:id].json&lt;\/a&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Estas peticiones se le pueden a\u00f1adir los siguientes par\u00e1metros:<\/p>\n<ul>\n<li>p<strong>age:<\/strong>\u00a0Paginar los usuarios de la red. En cada p\u00e1gina se muestran 50 usuarios.<\/li>\n<li><strong>letter:<\/strong>\u00a0Devuelve los usuarios cuyo nombre de usuario comiencen con el siguiente car\u00e1cter.<\/li>\n<li><strong>sort_by=[ messages | followers ]:<\/strong>\u00a0Los resultados se devolver\u00e1n ordenados por el n\u00famero de usuarios o el n\u00famero de seguidores, en lugar del comportamiento predeterminado que es ordenado alfab\u00e9ticamente.<\/li>\n<li>\u00a0<strong>reverse=TRUE:<\/strong>\u00a0Devuelve los resultados en orden inverso<\/li>\n<\/ul>\n<p><strong>3.- Notificaciones<\/strong><\/p>\n<p>Una notificaci\u00f3n es cada vez que otro usuario de Yammer te ha mencionado en un POST, o bien le ha gustado algo que has a\u00f1adido o bien tienes un nuevo seguidor. Para consultar las notificaciones desde la \u00faltima vez que se accedi\u00f3 a Yammer:<\/p>\n<div>\n<div id=\"highlighter_151840\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET https:<\/code><code>\/\/www.yammer.com\/api\/v1\/streams\/notifications.json&lt;\/span&gt;\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>4.- Sugerencias<\/strong><\/p>\n<p>Al igual que en otras redes sociales, Yammer tambi\u00e9n te puede dar sugerencias sobre determinados Grupos o usuarios que te pueden gustar. Para mostrar las sugerencias:<\/p>\n<div>\n<div id=\"highlighter_939842\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET https:<\/code><code>\/\/www.yammer.com\/api\/v1\/suggestions.json&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">Si alguna de las sugerencias ya no la queremos ver m\u00e1s, tambi\u00e9n podemos eliminar dicha sugerencia, para ello:<\/span><\/p>\n<div>\n<div id=\"highlighter_192837\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>DELETE https:<\/code><code>\/\/www.yammer.com\/api\/v1\/suggestions\/[:id].json<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>5.- Otras funcionalidades soportadas en la API y que pueden resultar \u00fatiles<\/strong><\/p>\n<p><strong>Autocompletar<\/strong>: La funci\u00f3n de autocompletado es \u00fatil para dar sugerencias a los usuarios cuando comienzan a escribir algo que se ve como el nombre de un grupo, usuario o tema. Esto es muy \u00fatil en la redacci\u00f3n de mensajes en su aplicaci\u00f3n. Si el usuario comienza a escribir Hola, @ kg y hace una pausa de una fracci\u00f3n de segundo, se puede enviar la cadena kg y pedir\u00e1 al usuario el nombre de usuario para completar lo que est\u00e1 escribiendo.<\/p>\n<div>\n<div id=\"highlighter_340873\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET &lt;\/span&gt;&lt;span lang=<\/code><code>\"ES-UY\"<\/code><code>&gt;&lt;a href=<\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/autocomplete\/ranked\">https:\/\/www.yammer.com\/api\/v1\/autocomplete\/ranked<\/a>\"<\/code><code>&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;<a href=\"https:\/\/www.yammer.com\/api\/v1\/autocomplete\/ranked\">https:\/\/www.yammer.com\/api\/v1\/autocomplete\/ranked<\/a>&lt;\/span&gt;&lt;\/a&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Par\u00e1metros:<\/p>\n<ul>\n<li><strong>prefix= cadena:<\/strong>\u00a0La cadena que debe de coincidir con los campos de b\u00fasqueda especificado en el modelo. Por ejemplo especificando el par\u00e1metro prefix=&#8217;ab&#8217; devolver\u00e1 los resultados de autocompletado para los modelos cuyos campos comiencen por &#8216;ab&#8217;<\/li>\n<li><strong>models=modelName:count:<\/strong>\u00a0 Se almacena una lista de modelos separadas por comas y el resultado deber\u00eda de devolver para cada modelo. El formato especificado es el siguiente: modelName1:count, donde count es un n\u00famero entero y modelName puede ser lo siguientes valores: user, group, topic, file, page (note), open_graph_object, department, external_network, domain<\/li>\n<\/ul>\n<p><strong>B\u00fasqueda:\u00a0<\/strong>El recurso de b\u00fasqueda devolver\u00e1 una lista de mensajes, los usuarios, los temas y los grupos que responden a la consulta de b\u00fasqueda del usuario<\/p>\n<div>\n<div id=\"highlighter_683096\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;GET https:<\/code><code>\/\/www.yammer.com\/api\/v1\/search.json&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Par\u00e1metros:<\/p>\n<ul>\n<li><strong>Search:<\/strong>\u00a0La consulta que vamos a realizar.<\/li>\n<li><strong>page<\/strong>: Muestra solo 20 resultados de cada tipo de resultados por cada p\u00e1gina, pero el total re registros se devolver\u00e1 en cada consulta. Page=1 devolver\u00e1 los elementos 1-20, page=2 devolver\u00e1 del 21-30.<\/li>\n<li><strong>num_per_page<\/strong>: Permite modificar el n\u00famero de elementos de cada tipo por p\u00e1gina el m\u00e1ximo es 20 (valor por defecto).<\/li>\n<\/ul>\n<p><strong>Empezar el desarrollo<\/strong><\/p>\n<p>Una vez destripada la API REST y el SDK vamos a llevar a cabo un ejemplo pr\u00e1ctico de c\u00f3mo utilizar Yammer en una APP de SharePoint. Vamos a desarrollar una APP de tipo SharePoint Hosted, en la que vamos a mostrar el Feed principal de Yammer y vamos a poder enviar mensajes desde nuestra APP de una forma relativamente simple<\/p>\n<p>Para ello abrimos Visual Studio 2012, y seleccionamos un proyecto de este tipo:<\/p>\n<p><img decoding=\"async\" alt=\"Imagen 4.- Proyecto Visual Studio.\" src=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen4.png\" \/><\/p>\n<p><span style=\"color: #000000;\">Una vez en nuestro proyecto en la p\u00e1gina default.aspx a\u00f1adimos las referencias al SDK de Yammer de la siguiente forma:<\/span><\/p>\n<div>\n<div id=\"highlighter_656858\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;&lt;&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;script&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt; &lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;type&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;=<\/code><code>\"text\/javascript\"<\/code><code>&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt; &lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;data-app-id&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;=<\/code><code>\"dataobtenidoanteriormente\"<\/code><code>&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;\u00a0 &lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;src&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;=<\/code><code>\"<a href=\"https:\/\/assets.yammer.com\/platform\/yam.js\">https:\/\/assets.yammer.com\/platform\/yam.js<\/a>\"<\/code><code>&gt;&lt;\/&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;script&lt;\/span&gt;&lt;span lang=<\/code><code>\"EN-US\"<\/code><code>&gt;&gt;&lt;\/span&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">A continuaci\u00f3n, dentro de nuestro App.js vamos a invocar a la autentificaci\u00f3n de Yammer, de la siguiente forma:<\/span><\/p>\n<div>\n<div id=\"highlighter_81445\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>$(document).ready(<\/code><code>function<\/code> <code>() {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_708409\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_59522\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>yam.connect.loginButton(<\/code><code>'#yammer-login'<\/code><code>,<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_634690\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>function<\/code> <code>(resp) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_637088\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_851681\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>if<\/code> <code>(resp.authResponse) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_5134\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_806993\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>$(<\/code><code>\"#yammer-login\"<\/code><code>).empty();<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_60007\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_933076\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>else<\/code> <code>{<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_648254\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>alert(<\/code><code>\"Error: Not login in Yammer\"<\/code><code>);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_894472\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_875889\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>});<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_918841\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>});<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Este c\u00f3digo lo \u00fanico que hace es llamar a la autenticaci\u00f3n \u00aboficial\u00bb de Yammer. Por defecto en muestra Aplicaci\u00f3n se muestra un \u00abBot\u00f3n de Login en Yammer\u00bb. Una vez se hace clic sobre el bot\u00f3n se piden las credenciales del usuario. Introducido el usuario y la contrase\u00f1a, Yammer solicita al usuario si autoriza a tu Aplicaci\u00f3n a utilizar Yammer. Yammer utiliza autenticaci\u00f3n basada en OAuth de la misma forma que las Apps de SharePoint. Una vez nuestra APP esta autenticada en Yammer se ejecutar\u00e1 las instrucciones que hemos a\u00f1adido en el caso de que se produjera con \u00e9xito el login. En este caso, se ocultar\u00e1 el bot\u00f3n de Login, debido a que ya nos hemos autenticado.<\/p>\n<p>Una vez nos hemos autenticado, ya podemos realizar consultas a la API REST, en este caso, vamos a solicitar que nos muestre el feed. Para ello, vamos a implementarnos una funci\u00f3n en la que realizaremos esta petici\u00f3n a la API REST. Por defecto, el SDK de Yammer para JavaScript tiene una funci\u00f3n \u00abyam.request\u00bb que la podemos utilizar para hacer peticiones HTTP sin ning\u00fan tipo de restricci\u00f3n en los navegadores. Para ello implementaremos la siguiente funci\u00f3n:<\/p>\n<div>\n<div id=\"highlighter_11921\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>function<\/code> <code>GetFeedYammer()<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_529732\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>{<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_315719\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>yam.request(<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_763222\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>{<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_131257\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>url: <\/code><code>'<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages.json?threaded=extended&amp;exclude_own_messages_from_unseen=true\">https:\/\/www.yammer.com\/api\/v1\/messages.json?threaded=extended&amp;exclude_own_messages_from_unseen=true<\/a>'<\/code><code>,<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_307081\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>method: <\/code><code>\"GET\"<\/code><code>,<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_419596\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>success: <\/code><code>function<\/code> <code>(data) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_515713\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>RequestFeedYammer(data);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_399399\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>},<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_550495\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>error: <\/code><code>function<\/code> <code>(data) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_321274\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>Error(data);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_912388\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_566273\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_489348\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_22105\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">Una vez la petici\u00f3n se realiza de forma afirmativa. Mostramos los datos en la APP implementando la funci\u00f3n RequestFeedYammer.<\/span><\/p>\n<div>\n<div id=\"highlighter_246027\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>function<\/code> <code>RequestFeedYammer(data)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_483165\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>{\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_939455\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>stringData = JSON.stringify(data);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_175242\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>jsonObject = JSON.parse(stringData);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_229496\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>thread = jsonObject.messages;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_1990\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>threadExtend = jsonObject.threaded_extended;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_474626\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>feedContent = <\/code><code>\"\"<\/code><code>;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_287679\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>for<\/code> <code>(<\/code><code>var<\/code> <code>i = 0; i &lt; thread.length; i++) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_990782\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>time = DistingDate(thread[i].created_at);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_711520\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>feedContent = <\/code><code>' &lt;div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_356646\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'&lt;div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_131521\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'&lt;div&gt;&lt;strong&gt;'<\/code> <code>+ data.full_name + <\/code><code>'&lt;\/strong&gt;&lt;\/div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_212541\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'\u00a0 &lt;div&gt;'<\/code> <code>+ thread[i].body.rich + <\/code><code>'&lt;\/div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_216485\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'\u00a0 &lt;div&gt;&lt;img src=\"..\/Images\/MeGusta.jpg\" width=\"15px\" height=\"15px\"\/&gt;'<\/code> <code>+ thread[i].liked_by.count + <\/code><code>'&lt;\/div&gt;&lt;\/div&gt;&lt;\/div&gt;'<\/code><code>;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_454458\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_463549\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>response = threadExtend[thread[i].id];\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_430105\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>if<\/code> <code>(response != undefined) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_41582\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>for<\/code> <code>(<\/code><code>var<\/code> <code>j = 0; j &lt; response.length; j++) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_775535\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>var<\/code> <code>timeRes = DistingDate(response[j].created_at);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_856558\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>feedContent += <\/code><code>' &lt;div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_894674\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'&lt;div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_349571\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'&lt;div&gt;&lt;strong&gt;'<\/code> <code>+ dataResponse.full_name + <\/code><code>'&lt;\/strong&gt;&lt;\/div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_808347\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'\u00a0 &lt;div&gt;'<\/code> <code>+ response[j].body.rich + <\/code><code>'&lt;\/div&gt;'<\/code> <code>+<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_762261\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>'\u00a0 &lt;div&gt;&lt;img src=\"..\/Images\/MeGusta.jpg\" width=\"15px\" height=\"15px\"\/&gt;'<\/code> <code>+ response[j].liked_by.count + <\/code><code>'&lt;\/div&gt;&lt;\/div&gt;&lt;\/div&gt;'<\/code><code>;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_354172\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_464178\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_43030\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_576251\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>$(<\/code><code>\"#MyFeed\"<\/code> <code>+ i).empty();<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_528015\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>$(<\/code><code>\"#MyFeed\"<\/code> <code>+ i).html(feedContent);<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_872181\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>}\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_783640\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">Ahora para que el c\u00f3digo introducido funcione a la perfecci\u00f3n tendremos que indicar la estructura del HTML que va a tener nuestra aplicaci\u00f3n. Para ello, con el siguiente HTML tenemos suficiente<\/span><\/p>\n<div>\n<div id=\"highlighter_561845\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>&lt;div class=<\/code><code>\"izquierda\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_733979\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;span id=<\/code><code>\"yammer-login\"<\/code><code>&gt;&lt;\/span&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_456611\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_270536\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_239217\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div class=<\/code><code>\"centro\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_196969\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"Status\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_915895\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div class=<\/code><code>\"txtStatus\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_939944\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;textarea id=<\/code><code>\"post\"<\/code> <code>style=<\/code><code>\"width:465px\"<\/code> <code>rows=<\/code><code>\"3\"<\/code> <code>cols=<\/code><code>\"60\"<\/code> <code>class=<\/code><code>\"k-textbox\"<\/code> <code>placeholder=<\/code><code>\"What are you working on?\"<\/code><code>&gt; &lt;\/textarea&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_9141\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_162295\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_945728\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div class=<\/code><code>\"btnUpdate\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_612677\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;input id=<\/code><code>\"btnPost\"<\/code> <code>type=<\/code><code>\"button\"<\/code> <code>onclick=<\/code><code>\"postToMyFeed();\"<\/code> <code>value=<\/code><code>\"Update\"<\/code> <code>\/&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_914023\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_830188\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_916591\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed0\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_245344\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_209597\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed1\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_504936\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_351786\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed2\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_686808\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_553553\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed3\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_747946\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_66076\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed4\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_958203\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_872865\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed5\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_380977\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_621754\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed6\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_284129\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_856776\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed7\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_103575\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_779909\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed8\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_175126\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_372670\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;div id=<\/code><code>\"MyFeed9\"<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_816755\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_982403\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_87668\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_419886\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_240115\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;\/div&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"color: #000000;\">Si ejecutamos nuestra aplicaci\u00f3n se visualiza el siguiente resultado:<\/span><\/p>\n<p><img decoding=\"async\" alt=\"Imagen 5.- Resultado de la App.\" src=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen5.png\" \/><\/p>\n<p><span style=\"color: #000000;\">Para finalizar este ejemplo pr\u00e1ctico vamos a ver c\u00f3mo podemos introducir un post en el Feed de Yammer de una forma muy simple. Para ello, tenemos que realizar la siguiente llamada:<\/span><\/p>\n<div>\n<div id=\"highlighter_201285\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>function<\/code> <code>postToYammer(valor) {<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_893027\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>yam.request(<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_496257\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0<\/code><code>{<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_932434\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>url: <\/code><code>\"<a href=\"https:\/\/www.yammer.com\/api\/v1\/messages.json\">https:\/\/www.yammer.com\/api\/v1\/messages.json<\/a>\"<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_547239\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>, method: <\/code><code>\"POST\"<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_801573\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>, data: { <\/code><code>\"body\"<\/code><code>: valor }<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_368108\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<div><code>\u00a0\u00a0<\/code><code>}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div id=\"highlighter_692768\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>Conclusi\u00f3n<\/strong><\/p>\n<p>A pesar de que Yammer es un producto de reciente incorporaci\u00f3n dentro de la plataforma Office 365, Yammer como tal es un producto bastante maduro, que no est\u00e1 en una versi\u00f3n beta ni mucho menos. Ofrece muchas soluciones y tiene unos s\u00f3lidos cimientos para poder utilizarlo en nuestros desarrollos.<\/p>\n<p>Bajo mi humilde punto de vista, la API REST de Yammer est\u00e1 mucho mejor implementada que la API Social incluida en SharePoint. Las dudas de realizar cualquier desarrollo utilizando Yammer es la inc\u00f3gnita que tenemos sobre la integraci\u00f3n que tiene Yammer con el resto de productos de Office 365. Pero si, por lo que parece, Yammer va a ser la red social de todos los productos de Office 365 no creo que esta API sufra ninguna modificaci\u00f3n, y conforme se vayan incorporando nuevas caracter\u00edsticas \u00e9stas se ir\u00e1n incorporando en la API Rest.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>Como cada tres meses, acaba de ver la luz el tercer n\u00famero de la revista digital CompartiMOSS. Para aquellos que no la conozc\u00e1is CompartiMOSS es la \u00fanica revista escrita en Espa\u00f1ol dedicada integramente a SharePoint y a las tecnolog\u00edas relacionadas. &hellip; <a href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,11,52],"tags":[60,46,26,53],"class_list":["post-1091","post","type-post","status-publish","format-standard","hentry","category-encamina","category-sharepoint-2013","category-yammer","tag-compartimoss","tag-office365","tag-sharepoint","tag-yammer-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela  - Desarrollando sobre SharePoint<\/title>\n<meta name=\"description\" content=\"Como cada tres meses ha visto a luz la revista digital dedicada a SharePoint CompartiMOSS, en la que existen varios motivos por los que no perd\u00e9rsela.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela  - Desarrollando sobre SharePoint\" \/>\n<meta name=\"twitter:description\" content=\"Como cada tres meses ha visto a luz la revista digital dedicada a SharePoint CompartiMOSS, en la que existen varios motivos por los que no perd\u00e9rsela.\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Adri\u00e1n D\u00edaz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/\"},\"author\":{\"name\":\"Adri\u00e1n D\u00edaz\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"headline\":\"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela\",\"datePublished\":\"2013-12-10T10:00:25+00:00\",\"dateModified\":\"2013-12-10T10:23:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/\"},\"wordCount\":2837,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero18\\\/Introduccion-desarrollar-yammer\\\/imagen1.png\",\"keywords\":[\"compartimoss\",\"office365\",\"sharepoint\",\"yammer\"],\"articleSection\":[\"encamina\",\"sharepoint 2013\",\"Yammer\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/\",\"name\":\"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela - Desarrollando sobre SharePoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero18\\\/Introduccion-desarrollar-yammer\\\/imagen1.png\",\"datePublished\":\"2013-12-10T10:00:25+00:00\",\"dateModified\":\"2013-12-10T10:23:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\"},\"description\":\"Como cada tres meses ha visto a luz la revista digital dedicada a SharePoint CompartiMOSS, en la que existen varios motivos por los que no perd\u00e9rsela.\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/compartimoss-18-motivos-por-los-que-leerlos\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero18\\\/Introduccion-desarrollar-yammer\\\/imagen1.png\",\"contentUrl\":\"http:\\\/\\\/www.compartimoss.com\\\/PublishingImages\\\/Numero18\\\/Introduccion-desarrollar-yammer\\\/imagen1.png\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/\",\"name\":\"Desarrollando sobre SharePoint\",\"description\":\"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/#\\\/schema\\\/person\\\/c9bfaede1bfba9564bb7f500788782bb\",\"name\":\"Adri\u00e1n D\u00edaz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g\",\"caption\":\"Adri\u00e1n D\u00edaz\"},\"description\":\"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/desarrollandosobresharepoint\\\/author\\\/desarrollandosobresharepoint\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela  - Desarrollando sobre SharePoint","description":"Como cada tres meses ha visto a luz la revista digital dedicada a SharePoint CompartiMOSS, en la que existen varios motivos por los que no perd\u00e9rsela.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/","twitter_card":"summary_large_image","twitter_title":"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela  - Desarrollando sobre SharePoint","twitter_description":"Como cada tres meses ha visto a luz la revista digital dedicada a SharePoint CompartiMOSS, en la que existen varios motivos por los que no perd\u00e9rsela.","twitter_image":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png","twitter_misc":{"Escrito por":"Adri\u00e1n D\u00edaz","Tiempo de lectura":"20 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/"},"author":{"name":"Adri\u00e1n D\u00edaz","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"headline":"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela","datePublished":"2013-12-10T10:00:25+00:00","dateModified":"2013-12-10T10:23:36+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/"},"wordCount":2837,"commentCount":0,"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/#primaryimage"},"thumbnailUrl":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png","keywords":["compartimoss","office365","sharepoint","yammer"],"articleSection":["encamina","sharepoint 2013","Yammer"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/","name":"[CompartiMOSS N\u00ba 18] Motivos por los que no perd\u00e9rsela - Desarrollando sobre SharePoint","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/#primaryimage"},"image":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/#primaryimage"},"thumbnailUrl":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png","datePublished":"2013-12-10T10:00:25+00:00","dateModified":"2013-12-10T10:23:36+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb"},"description":"Como cada tres meses ha visto a luz la revista digital dedicada a SharePoint CompartiMOSS, en la que existen varios motivos por los que no perd\u00e9rsela.","inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/compartimoss-18-motivos-por-los-que-leerlos\/#primaryimage","url":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png","contentUrl":"http:\/\/www.compartimoss.com\/PublishingImages\/Numero18\/Introduccion-desarrollar-yammer\/imagen1.png"},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#website","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/","name":"Desarrollando sobre SharePoint","description":"Arquitectura, buenas pr\u00e1cticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/#\/schema\/person\/c9bfaede1bfba9564bb7f500788782bb","name":"Adri\u00e1n D\u00edaz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe10b9eaf8ce4565ec75fba5a0d121c16186696e515cad2bedd42f6cf54e2007?s=96&d=mm&r=g","caption":"Adri\u00e1n D\u00edaz"},"description":"Adri\u00e1n D\u00edaz es Ingeniero Inform\u00e1tico por la Universidad Polit\u00e9cnica de Valencia. Es MVP de Microsoft en la categor\u00eda Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnolog\u00edas Microsoft m\u00e1s de 10 a\u00f1os y desde hace 3 a\u00f1os est\u00e1 centrado en el desarrollo sobre SharePoint. Actualmente es Software &amp; Cloud Architect Lead en ENCAMINA.","url":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/author\/desarrollandosobresharepoint\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/comments?post=1091"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/posts\/1091\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/media?parent=1091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/categories?post=1091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/desarrollandosobresharepoint\/wp-json\/wp\/v2\/tags?post=1091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}