abr 08 23

La API de Facebook – Un desperdicio de tecnología

Tiempo estimado de lectura: 1,46 minutos

facebook_dev.jpgHace 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?

Copame! Digg it Digg it Reddit Del.icio.us

    19 Comentarios

  1. ReC


    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.

  2. Lucas Zallio


    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.

  3. Donprimerizo


    Entonces no es que tengamos el codigo fuente y montemos nuestro propio sitio con toda la infraestructura de facebook?

  4. Lucas Zallio


    Donprimerizo, podes tener todo lo que quieras de código fuente, pero ellos limitan a su gusto la info que vos procesas.

  5. Isaac


    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?

  6. Felipe


    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.

  7. LoneWolf


    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?

  8. manco


    Me gustaria aprender más sobre la api de facebook

    Me ayudan a encontrar información?

  9. tomas


    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!

  10. Wawi


    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!

  11. calitb


    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

  12. Alek


    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?

  13. Alejandro


    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.-

  14. puntogh


    Hey! por casualidad hay un metodo o funcion que me regrese el email del que se conecta…

    Gracias!

  15. Anyeos


    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.

  16. Alex


    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.

  17. J


    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”.

  18. Alberto


    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

  19. Jose Luis Condori


    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.

Deja un Comentario

Tags permitidos:

  • <a href="" title="">
  • <abbr title="">
  • <acronym title="">
  • <blockquote cite="">
  • <code>
  • <em>
  • <strong>