Hace varios días que vengo estudiando a fondo la API que ofrece facebook para sus usuarios y debo decir que, tecnológicamente, es una de las mejores APIs que existen en las redes sociales. Sin embargo, su implementación es tan cerrada que la utilidad que ofrece es casi nula.
Facebook ofrece XML, FQL y Javascript en un gran número de plataformas para alcanzar la información con la que cuenta. Pero para poder usarla se requiere que el usuario final esté logueado en facebook y que cuente ya con una red armada de contactos. Básicamente requiere que el usuario use Facebook (y si bien suena lógico, el concepto no sirve de mucho en una API).
Si un usuario sin loguearse usa el buscador de facebook, va a tener más información que un usuario logueado y sin contactos que esté usando la API. Considero entendible que resguarden la información de los miembros, pero tampoco hay que ser extremistas.
Pongamos un ejemplo usando la maravillosa tecnología FQL que permite al sistema que usa la API hacer consultas “directamente” sobre la base de datos de facebook. El siguiente código permite obtener “la información” de dos miembro de facebook teniendo su ID:
SELECT first_name, last_name, pic_big FROM user WHERE uid=2113783
Si, suena maravilloso, pero teniendo en cuenta que en el WHERE sólo se puede usar el uid y el name y que todos los demás campos devuelven nulo si la persona buscada no está relacionada con el usuario que está usando la aplicación, la información obtenida es la misma que la que se obtiene haciendo una búsqueda en Facebook sin estar logueados.
Entonces, ¿qué ventajas tiene usar la API en un sistema tercero? Pocas, todos los trabajos que se hicieron con esta api, se limitan sólo a facebook. Es una lástima porque las opciones y la flexibilidad que pueden llegar a ofrecer liberando un poco más esta maravillosa de API son asombrosas.
Por ejemplo:
- Permitir usar la API sin que el usuario de la aplicación tenga una cuenta de facebook para acceder a determinada información, que baste sólo con la apy_key (que corresponde a una cuenta)
- Permitir acceder a cierta información pública como: ciudad, país y sería pedir ya demasiado un breve extracto de la descripción del miembro.
Con sólo estos dos cambios harían que los usuarios del sistema que usa la API y que estén interesados en contactar a determinada persona se creen una cuenta y comience a utilizar facebook. ¿Estoy tan equivocado?










19 Comentarios
ReC
abril 24th, 2008 at 7:15 pm
Interesante Luc…
Pero… yo solo uso Facebook porq me permite jugar poker online, facil, simple y rapido… sin tener que descargar nada extra.
Lo que decis del API… es interesante, pero ami me supera. :(
Un abrazo.
Lucas Zallio
abril 25th, 2008 at 11:42 am
REC, Si Facebook es como un gran monstruo que tiene de todo. Pero la idea de ofrecer una API es poder acceder desde otra aplicación al servicio que ofrecen. Pero si desde afuera te obligan a loguearte en Facebook, ya deja de ser “de afuera” y termina siendo Facebook mismo.
Donprimerizo
junio 29th, 2008 at 3:02 am
Entonces no es que tengamos el codigo fuente y montemos nuestro propio sitio con toda la infraestructura de facebook?
Lucas Zallio
junio 29th, 2008 at 11:35 am
Donprimerizo, podes tener todo lo que quieras de código fuente, pero ellos limitan a su gusto la info que vos procesas.
Isaac
julio 14th, 2008 at 2:04 pm
Hola que tal solo queria saber si con el facebook uno puede usarlo en el ambiente empresarial como una aplicacion web de intranet y que tenga varias categoria orientados al ambiente departamental empresarial?
Felipe
julio 31st, 2008 at 2:06 pm
Me parece que lo que plantea este artículo es una soberana estupidez, todos sabemos que facebook protege la información de sus usuarios por sobre todo, que ni por medio de la api ni por otro medio se debería tener acceso a los datos.
LoneWolf
septiembre 26th, 2008 at 2:39 am
La información expuesta en el artículo es una interesante observación, por mi parte voy a investigar un poco más, ya que tengo que desarrollar justamente una función basada en la API de Facebook para el sitio web de un cliente.
Y para el que hizo el comentario de arriba: Que no te haya gustado el artículo no significa que sea “una soberana estupidez”. Hay formas un poco más educadas para decir las cosas, ¿no te parece?
manco
diciembre 2nd, 2008 at 10:21 am
Me gustaria aprender más sobre la api de facebook
Me ayudan a encontrar información?
tomas
diciembre 31st, 2008 at 10:57 pm
Toda la razón, el API esta desarrollado de tal manera que sólo entregará resultados siempre y cuando el usuario final esté logueado en su cuenta de facebook. En mi caso, lo que necesitaba era obtener todas las fotos de un grupo publico (abierto) de facebook, para poder mostrarlas en un sitio relacionado con el mismo (externo). Esto permitía ahorrar una gran cantidad de espacio en disco en el server y por otro lado aprovechar el hospedaje y control que ofrece facebook en relación a las fotos. Luego de encontrar la manera de hacer esto (mediante FQL) todo se desmoronaba en el momento de que el usuario final no estaba logueado en facebook. Como tú bien dices, es un desperdicio de tecnología. Estuve leyendo algo de la liberación del código fuente, pero aún así, no creo que esto cambie, dado a que mucha gente ,al igual que yo, desarrollaría códigos o mini aplicaciones para sus propios fines, “aprovechándose” de facebook por todo lo que ofrece de manera gratuita.
Dejo el código para obtener todas las fotos de un grupo en particular, algo que no es tan obvio, dado a como se relaciona realmente la “tabla” photo
con el grupo en particular.
$gid ="";
try{
$fql = "SELECT src_big, src FROM photo WHERE pid IN (SELECT pid FROM photo_tag WHERE subject=$gid)";
$_pics = $facebook->api_client->fql_query($fql);
if (is_array($_pics) && count($_pics)) {
$i = 0;
foreach ($_pics as $pic) {
$i++;
echo '';
}
}
}catch(Exception $e){
echo $e->getMessage();
}
Salu2!
Wawi
febrero 8th, 2009 at 8:17 pm
pero hay un tema de privacidad muy importante el que impide esto que planteas :S, si facebook hace eso, es posible que muchos usuarios que no desarrollen aplicaciones con la API se quejen y abandonen facebook
byee Saludos!
calitb
junio 24th, 2009 at 6:18 am
estoy de acuerdo con wawi… es cuestion de privacidad de los usuarios, o sea que no se debe permitir obtener informacion de los usuarios privada a los que no son sus amigos.
Aunque si tienen razon en lo de necesitar estar logueado para poder obtener informacion que el contacto hizo publica
Alek
agosto 6th, 2009 at 9:51 pm
Y yo para qué quiero montar facebook dentro de mi sitio web?, al fin nos vamos a quedar con las mismas cosas, es mejor inventar nuevas cosas, no?
Alejandro
noviembre 24th, 2009 at 11:43 am
Considero que no es un desperdicio, acotado al segmento y a la idea de lo que es una red social, está muy bien limitar la salida y/o escape de datos. Creo que esto fue una de las principales “causas” por la que muchos usuarios dejaron facebook. Por otro lado, cuando uno diseña un sistema, este debe ser seguro – en todo sentido – Entonces, brindar informacion que a la larga puede ser sensible (depende quien la use y para que porpósito) el sistema deberia tener esa cuota de duda, y tender a cortar los datos.
Saludos.-
puntogh
enero 16th, 2010 at 2:35 pm
Hey! por casualidad hay un metodo o funcion que me regrese el email del que se conecta…
Gracias!
Anyeos
enero 24th, 2010 at 10:52 pm
Oye, pero acá el problema no es que revelen datos sensibles. Es que revelen datos que igual revelan de otra forma a usuarios no logeados. Que lo hagan desde la API o no es lo mismo, pero deberían incluirlo en la API para que funcionara en otras páginas. Para mi que lo que no quieren es que funcione en otras páginas.
Alex
febrero 1st, 2010 at 9:24 am
Tengo una página en facebook dedicada al sector de la autoescuela. En ella, y mediante la aplicación FBML he podido crear una pestaña con enlaces, logos, etc…
Ahora me gustaría crear otra pestaña con el nombre “Recomendar” en la que, al pinchar en ella, al visitante se le cargara su lista de amigos a los que poder recomendar mi página.
Mi pregunta es la siguiente:
¿Qué código, FB o HTML, debo añadir al crear mediante FBML la pestaña de “Recomendar” para que esta acción se produzca? Muchas gracias.
J
junio 6th, 2010 at 12:20 pm
y si las cosas fueran como proponee el articulo, si no estuviera limitado a la informacion de aquellos con quienes estoy relacionado, ¿que me impediria escribir un codigo que leyera los datos disponibles de todos los id’s desde 0 hasta el infinito y luego los volcara en mi propia base de datos? ¿tal vez para venderlos? ¿tal vez para gastar bromas pesadas a medio pais (o medio mundo)?
Aunque facebook tiene muchos fallos en este caso tengo que decir “gracias facebook por ser como eres”.
Alberto
agosto 23rd, 2010 at 4:50 pm
yo creo que esta bien la api, ya que es una api para facebook y no una plataforma de desarrollo.
Sobre el codigo que sea abierto creo que con los millones de dolares que ganan van a pensarlo mucho para hacerlo.
Aún no he visto nada por ahi, pero seguro que hay miles y miles de sitios tipo facebook de código abierto orquestandose
Jose Luis Condori
octubre 14th, 2010 at 4:18 pm
Muy interesante lo que planteas en este artículo. Y de acuerdo con tus 2 ejemplos que planteas.
Si bien Facebook mantiene como prioridad su política de privacidad, deberían ser los mismos usuarios quienes cuiden la privacidad de su propia información a través de las configuraciones personalizadas que brinda Facebook.
Si se aplicaran ciertos cambios en la API (los que has planteado) tendríamos un abanico de posibilidades. Sin embargo, los cambios planteados deberían limitarse a mostrar únicamente la información que el usuario permita conscientemente y bajo el diseño de su propia configuración de privacidad.
El problema radica en que los usuarios, mayormente, no estan informados (o no quieren informarse), es decir, muchos usuarios de Facebook sólo proceden a crearse una cuenta, subir fotos, jugar, etc. y no se toman el tiempo de leer un poquito acerca de lo que pueden modificar con respecto a la configuración de la privacidad de su cuenta.
Por el momento es una utopía pensar que Facebook desarrollará dichos cambios en su API.
Es una lástima que se estanque el avance (esto sí sería un avance) de Facebook por culpa de los propios usuarios que aún no toman consciencia del tema en cuestión: La privacidad de información.
Saludos.