También Facebook es accesible via JSON aunque, en este caso, la configuración de privacidad debe ser establecida para que sean públicas y si bien no podemos tener acceso a todo, los feeds pueden ser leidos del mismo modo que todos los vistos anteriormente, utilizando esta dirección:
http://graph.facebook.com/nombre_usuario/feed
Esto es válido tanto para un Perfil como para una Page y los datos devueltos en ambos casos son similares así que podemos proceder igual que para cualquier otra dirección, agregando los párámetros de limit para establecer la cantidad de datos a leer y callback para ejecutar una función que los interprete. Estos datos, son diversos y lo mejor para entenderlos, es con un ejemplo.
Voy a agregar una función antes de </head>:
Voy a agregar una función antes de </head>:
<script type="text/javascript"> //<![CDATA[ function leerallfacebook(json) { // aquí voy a iniciar algunas variables var data, fecha, tipo, link, message, source, link, picture, likes, from; var salida = ""; var contarsalidas = 0; // como en todos los otros ejemplos, se ejecuta un bucle que lee una cierta cantidad de entradas for (var i = 0; i < json.data.length; i++) { var post = ""; // guardo los datos de cada entrada en un array llamado data data = json.data[i]; // si no hay nada, termino porque significa que hay menos de las que solicité leer if (i==json.data.length) { break; } fecha = data.created_time; // esta es la fecha de publicación icon = data.icon; // este es el ícono que depende del tipo de publicación tipo = data.type; // este dato nos indica qué tipo de publicación es // esto nos dice la cantidad de "Me Gusta" que tiene likes = 0; if(data.likes) {likes = data.likes.count;} // este dato, indica quién lo publicó from = data.from.name; // como sólo quiero ver las mias, si no lo son, las ignoraré if(from!="mi_nombre") {tipo="dummy";} // y ahora, según el tipo de publicación, leo los datos switch(tipo) { case "photo": // es del tipo Foto picture = data.picture; // esto contiene la dirección URL de la miniatura link = data.link; // esto contiene la dirección URL a la imagen message = data.message; // esto contiene el texto que le hayamos agregado // voy armando mi código HTML para mostrarla post += "<a target='_blank' href='" + link + "'><img src='" + picture + "'/></a>"; break; case "video": // es del tipo Video picture = data.picture; // esto contiene la dirección URL de la miniatura link = data.link; // esto contiene la dirección URL del video // por ejemplo: http://www.youtube.com/watch?v=XXXXXXXXXXX source = data.source; // esto contiene la dirección URL que usamos para insertarlo en una web // por ejemplo: http://www.youtube.com/v/XXXXXXXXXXX&autoplay=1 // voy a usar una ventana modal para mostrar esos videos pero puede usarse cualquier otro método // dependiendo del servicio, uso diferentes tamaños if(source.indexOf("www.youtube.com")>0) { post += "<a class='lightwindow' params='lightwindow_width=640,lightwindow_height=390,lightwindow_loading_animation=true' title='' rel='' href='" + source + "'><img src='" + picture + "'/></a>"; } else if(source.indexOf("vimeo.com")>0) { post += "<a class='lightwindow' params='lightwindow_width=560,lightwindow_height=312,lightwindow_loading_animation=true' title='' rel='' href='" + source + "'><img src='" + picture + "'/></a>"; } else { // cualquier otro es mostrado como un enlace post += "<a href='" + link + "'><img src='" + picture + "'/></a>"; } break case "link": // es del tipo Enlace picture = data.picture; // esto contiene la dirección URL de la miniatura link = data.link; // esto contiene la dirección URL del enlace // voy armando mi código HTML para mostrarlo post += "<a target='_blank' href='" + link + "'><img src='" + picture + "'/></a>"; break default: // cualquier otro no lo voy a mostrar en este ejemplo // hay varios; puede ser "swf", "music", "status", etc break } // ahora, verifico que la publicación sea una del tipo que quiero mostrar if(post!="") { // si es así, coloco los datos en un código HTML salida += "<div class='fbpost'>"; salida += post; salida += "<img class='icon' src='" + icon + "' />"; salida += "<span class='like'>" + likes + "</span>"; salida += "</div>"; // y voy contando hasta completar la cantidad que quiero mostrar contarsalidas ++; if(contarsalidas==24) { break; } } } // terminado el bucle, escribiré los datos en un DIV al que le pondre un ID especifico document.getElementById("resultados").innerHTML = salida; } //]]> </script>
¿Que faltaría para que funcionara? Agregar un DIV en alguna parte, allí donde quisiéramos que se nuestre e inmediatamente después, llamar a la función:
<div id='resultados'> C A R G A N D O </div> <script src="http://graph.facebook.com/mi_nombre/feed?limit=20&callback=leerallfacebook"></script>
donde mi_nombre es el nombre (o número) de nuestro Perfil o Page y limit es la cantidad de datos que leeremos.
Si usamos CSS, podemos crear cualquier tipo de página:
Si usamos CSS, podemos crear cualquier tipo de página:
<style>
.fbpost {
background-color: #444;
border: 1px solid #666;
display: block;
float:left;
height: 160px;
margin: 2px;
padding: 10px;
position: relative;
text-align: center;
vertical-align: middle;
width: 160px;
}
.like {
background: transparent url(URL_imagenlike) no-repeat left 50%;
bottom: 10px;
color: #9FAECC;
display: block;
font-size: 18px;
margin: 0 auto;
position: absolute;
right: 0;
width: 50px;
}
.icon {
bottom: 10px;
display: block;
position: absolute;
left: 10px;
}
</style>
El resultado de todo este delirio es lo que puede verse en este ejemplo online:
TABLA - FUENTES - FONTS
SOUV2
- SOUV2P.TTF - 57 KB
- SOUV2I.TTF - 59 KB
- SOUV2B.TTF - 56 KB
- SOUV2T.TTF - 56 KB
- bai_____.ttf - 46 KB
- babi____.ttf - 47 KB
- bab_____.ttf - 45 KB
- balaram_.ttf - 45 KB
- SCAGRG__.TTF - 73 KB
- SCAGI__.TTF - 71 KB
- SCAGB__.TTF - 68 KB
- inbenr11.ttf - 64 KB
- inbeno11.ttf - 12 KB
- inbeni11.ttf - 12 KB
- inbenb11.ttf - 66 KB
- indevr20.ttf - 53 KB
- Greek font: BibliaLS Normal
- Greek font: BibliaLS Bold
- Greek font: BibliaLS Bold Italic
- Greek font: BibliaLS Italic
- Hebrew font: Ezra SIL
- Hebrew font: Ezra SIL SR
Disculpen las Molestias
TABLA - INFORMÁTICA - UTILIDADES
- 2011
- enero 2011 (25 posts)
- Oloblogger
- Vagabundia
- CSS3 GENERATOR - OLOBLOGGER
- HAGA SU PROPIA MUSICA
- Vagabundia
- 100 packs de íconos surtidos - Vagabundia
- tablas en css
- Curvas y redondeces - Vagabundia
- Vagabundia
- Oloblogger
- Vagabundia
- 3.9. The background-size’ property - w3.org
- Patterns con CSS3
- Oloblogger
- Usar JSON para mostrar Twitter - Vagabundia
- Sliderman: Un script para hacer sliders sin librer...
- Thought of you - Vagabundia
- Efecto cinta adhesiva en imágenes - Oloblogger
- Bloggers - Vagabundia
- BigImg: Otra forma de insertar imágenes gigantes -...
- Vagabundia: : “Los parámetros de los feeds de Blog...
- Alojar scripts para Blogger Edición rápida - OLOBL...
- Plugins sociales aleatorios para Facebook
- Fire - shadow
- Neon - shadow
- 2010
- diciembre
- efecto de linterna de Zachary Johnson en www.zachs...
- Shadow - Sombreados en los Textos - Vagabundia
- 4. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 2. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- octubre
- septiembre
- julio
- junio
- mayo
- HTML ASCII Reference - The ASCII Character Set
- Typing Arabic and Farsi Numerals
- Smoothing Screen Fonts
- Outlook 2000
- Outlook Express 5
- Netscape Messenger 4.7
- Netscape
- Internet Explorer
- Windows XP: Language Settings
- Windows 2000: Language Settings
- General Unicode Information
- General Farsi Unicode Information
- Unicode in Internet Explorer 5, 5.5 and 6
- Unicode in Firefox for Windows
- UNICODE - Internet Explorer
- abril
- marzo
- Porque no me abre el disco local c
- Glosario Informático (H-Z)
- Glosario Informático (C-G)
- Glosario Informático (A-B)
- febrero
- Direcciones about: FIREFOX
- ASCII codes table - Format of standard characters
- 24 Character entity references in HTML 4
- Table of character entity references in HTML 4
- HTML Codes
- Index of Elements - Html
- ISO 639. Code for the representation of the names ...
- ASCII stands for American Standard Code
- enero
- 2009
- CUADRO GENERAL CONTENIDO MITOLOGÍA Y RELIGIÓN
- MITOLOGÍA HINDÚ
- Conceptos Hinduistas (1428)SC
- Category:Hindu (mythology) (3256)SC
- Category:Hindu mythology (3270)SC
- Categoría:Mitología hindú (3288)SC (indice)
- Categoría:Mitología hindú (videos) (3289)SC
- Conceptos Hinduista (A - G) SK y SC (videos) (3294)SC
- Conceptos Hinduistas (2919)SK · (2592)SK
- JUDAISMO
- VAISHNAVISMO
- Ärî Garga-Samhita
- Oraciones Selectas al Señor Supremo
- Devotees Vaishnavas
- Dandavat pranams - All glories to Srila Prabhupada
- Hari Katha
- SWAMIS VAISHNAVAS
- DEVOTOS VAISHNAVAS - FACEBOOK
- Santos Católicos
- EGIPTO
- Archivo Cervantes
- Sivananda Yoga
- Neale Donald Walsch
- ENCICLOPEDIA - INDICE
No hay comentarios:
Publicar un comentario