Mostrar fotos de álbums Facebook en otras webs

  • Por
  • PHP
Analizamos una clase para mostrar fotos de los álbums, que haya subidas a Facebook en las Fan Pages, dentro de otras paginas web.
A medida que las redes sociales se han colado en nuestras vidas, van surgiendo nuevas vías de integración de las funcionalidades que aportan, para que estén disponibles en otras webs. Existen muchas maneras de integrar Facebook en una página, por ejemplo a través de los plugins sociales que el propio Facebook tiene en su área para "developers". Sin embargo, en este artículo vamos a tratar un script que no forma parte de los que nos ofrecen desde la red social y que puede ser interesante para muchas personas.

Este clase (de programación orientada a objetos) nos ayuda a mostrar un álbum de fotos, que tengamos previamente subido a la red social de Facebook dentro de una "Fan Page", en cualquier sitio web que nosotros deseemos.

Nota: Es importante tener en cuenta que no muestra los álbumes de fotos de personas, sólo los de las páginas creadas en Facebook, lo que se conoce como "Fan Pages".

Esta clase puede ser interesante si tenéis una web que muestra imágenes y habéis creado su análoga en Facebook, de esta forma si metéis imágenes en Facebook no sería necesario subirlas también a la web, simplemente las podríais mostrar directamente desde Facebook utilizando esta clase.

Su implementación es bien sencilla, tan solo tenéis que bajaros un archivo .php llamado phpcURL.php de PHPclasses. Ese archivo contiene la clase de programación orientada a objetos que tenéis que utilizar para extraer las fotos de un álbum. El archivo del código de la clase debe copiarse en tu servidor, por ejemplo en la misma carpeta donde quieras mostrar las imágenes.

Una vez que lo tienes descargado te creas otro archivo .php, que será el que nos muestre el álbum, y podría ser algo como esto:

<html>
<head>
<title>Álbum de fotos Facebook</title>
</head>

<body>
<div id ="wrapper">
<?php
   define('PAGE_ID', '00000000000000');
   define('APP_ID','');
   define('APP_SECRET','');
   include("phpcUrl.php");
   $face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</div>
</body>
</html>

Como hemos podido comprobar, se trata de un código bastante sencillo, en el que se invoca a la clase para realizar todo el trabajo por nosotros. Claro está, debemos pasarle el identificador de tu página en Facebook al hacer el define('PAGE_ID', '00000000000000'). Por tanto, para que os funcionará tan solo tendríais que cambiar la ristra de ceros por el id de tu página en Facebook.

En el código anterior, las líneas que hacer define('APP_ID','') y define('APP_SECRET','') van en blanco, en el caso de que no tengas ninguna aplicación Facebook creada. Si tuviéramos registrada una aplicación y quisiéramos mostrar las imágenes de dicha aplicación tendríamos que pasarles el APP_ID correspondiente, y el APP_SECRET para conexiones externas con Facebook dentro de dicha aplicación.

Si hacéis la prueba veréis que os salen las imágenes pero sin estilos, bien, pues podéis crearos un CSS para definir el aspecto que deseáis para el álbum. Hacer vuestro propio CSS es muy sencillo, ya que la clase viene preparada para poder modificar los estilos a vuestro gusto.

Tan sólo tendréis que tocar las siguientes clases:

#wrapper, #back, #backAlbums, #next, #prev, .ImageLink, .ImageLink img

Si añadimos estos estilos el código nos quedaría más o menos de la siguiente forma:

<html>
<head>
<title>Álbum de fotos Facebook</title>
<style type='text/css'>
   body
   {
      font-family:arial;
   }
   #wrapper
   {
      width:880px;
      margin:0 auto:
   }
   #back
   {
      display:block;
      padding:5px;
      float:left;
   }
   #backAlbums
   {
      display:block;
      padding:5px;
      float:right;
   }
   #next
   {
      float:right;
      display:block;
      padding:5px;
   }
   #prev
   {
      float:left;
      display:block;
      padding:5px;
   }
   .ImageLink
   {
      display:block;
      float:left;
      padding:5px;
      margin:5px;
   }
   .ImageLink img
   {
      width:150px;
   }
</style>
</head>

<body>
<div id ="wrapper">
<?php
   define('PAGE_ID', '00000000000000');
   define('APP_ID','');
   define('APP_SECRET','');
   include("phpcUrl.php");
   $face = new FacePageAlbum(PAGE_ID, $_GET['aid'], $_GET['aurl'], APP_ID, APP_SECRET);
?>
</div>
</body>
</html>

Nota: en la página de descarga de la clase, tenéis un archivo llamado Example.php que contiene este código de ejemplo. Pero OJO, en nuestro caso encontramos un error en el script, ya que el archivo que esta puesto en el include esta mal escrito, tenéis que cambiarlo por “phpcUrl.php”.

Acordaros siempre que esta clase funciona en servidores que tengan PHP 5, en PHP 4 no funcionará.

Autor

Sara Alvarez

Equipo DesarrolloWeb.com

Compartir

Comentarios

ronald948

23/2/2011
interesante!
hola Sara estuve leyendo tu post

y m parecio interesante lo voy a probar

nos vemos =)

willi

26/2/2011
comentario
hola sara muy bueno tu articulo y la galería lo que me gustaria cambiarle no se si es posible el visor de la imagen final y que se pueda seguir pasando las fotos no tener que volver a la galeria para ver otra imagen
saludos y gracias willi

Nery_Nicolas

01/3/2011
ni siquiera al foto de perfil.
¿Nisiquiera con el consentimiento del usuario se prodían mostrar fotos del mismo? La foto de perfil al menos.
Muy interesante!!! Y que grosso el tipo que hizo la clase.

Andres

01/3/2011
Exelente!!
Eso era lo que andaba buscando. Buen aporte. Voy a probarlo!

Yacu09

01/5/2011
Ayuda no lo puedo hacer andar
Hola gente como anda , la verdad es que no pude hacerlo andar , ya que hay un mal entendido o mejor dicho no entendi yo , me baje lo archivos modifique el id y ahora la pregunta es , cuanto archivos hay que subir a mi web ya que arriba mencionas que hay que bajar el archivo phpcURL.php y dp hablajo mecionas que hay que modificar el archivo example.php por phpcurl.php , me puede ayudar gracias espero respuesta agradeceria una ayuda mi id es 100001169568186 , y prove de subirlo a la web pero se queda cargando y no muestra nada gracias

Yacu09

01/5/2011
Eror
Parse error : error de sintaxis, T_STRING inesperado, T_OLD_FUNCTION esperando o T_FUNCTION o T_VAR o '}' en / home / donyaco / domains / complejodonyaco.com.ar / public_html / phpcUrl.php en la línea 4

Yacu09

02/5/2011
Ayuda Sara
Sara te paso mi mail asi nos comunicamos y ves si me podes ayudar amiga , gracias el_yacu@hotmail.com saludos

Alex

05/5/2011
No lo consigo
Hola! lo he intentado pero no consigo que se vea nada...

Me ayudais? qué hay que pasarle en los parametros $_GET['aid'] y $_GET['aurl'] ?

Graciasss!!

Guillermo

30/5/2011
Muchas Gracias!!
muchas Gracias por el post. Es justo lo que estaba buscando.

Hans

10/6/2011
comentarios
como o cual es el código para extraer la descripción de cada álbum que se ha puesto en facebook.

Scaraman

12/7/2011
Error
Me arroja el siguiente texto:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /www/krieg-krieg.com.ar/htdocs/test/phpcUrl.php on line 4

Es posible corregir esto? Gracias!!

Gledyn

10/8/2011
Buenas, me genera un error
el error es el siguiente..
Fatal error: Call to undefined function curl_init()


k sera... por favor me pueden ayudar>???

Carlos

07/10/2011
Consulta
Una pregunta ¿se puede etiquetar las fotos que se muestran?

tom

04/8/2012
hacer un video tutorial
por favor intente hacerlo pero me salio un error porfavorr podrian hacer un video tutorial con todo eso de la api y lo demas por favorrr

Sara

18/1/2013
Ayuda
Hola. He estado leyendo el articulo sobre como mostrar en mi web las fotos de facebook pero no me ha quedado claro, me podrias enviar al correo los archivos que realmente hay que subir? Gracias y un saludo.

jefelon

17/2/2013
¿como crear un slider o algo parecido con estas imágenes?
Alguna forma de poner un slider con estas imágenes, como el propio facebook; lo digo porque cuando se visualiza una imagen, se pierde la navegación.

Laura

26/2/2013
ayuda
Hola , sera que por favor podrías colocar un vídeo ya existente o uno que hagas vos en relación al tema, que si es posible donde tu le agregues tambien un estilo para aprender y que tenga mejor explicación (En forma Visual) y aplicación de un profesional (Vos ) please!! Gracias.

WOLF

19/6/2013
eSTO PODRIA SERVIR EN BLOGGER?
Este podria servir en blogger y en el caso de que fuera asi... como colocarlo?

pabloadonato

10/10/2013
ayuda con PHPCurl
Hola Amigos, he subido este script a un servidor con php 5.1.6 (DAJ!!). PHPCurl trabaja con json_decode soportado por PHP 5.2 en adelante. Por lo que este scripr no funciona. Alguien conoce algun parche para solucionar este inconveniente y hacerlo funcionar en versiones anteriores de php? Gracias espero ayuda!

Nacho

10/4/2014
¿Algo ha cambiado?
Acabo de probar este sistema y me encontré con que el script no recorre todos los álbumes, a algunos los saltea.
¿Esto es porque algo ha cambiado en Facebook desde el 2011, o porque me pude haber mandado un moco?
El include lo he revisado y está todo bien ¡Pero me saltea muchos Álbumes igual!
¿Alguien sabe qué puede ser?

Francisco

03/6/2014
Error en linea 90 del php
Hola a mi me tira un warning:
phpcUrl.php on line 90

A alguno le ha sucedido?

wizal

04/2/2015
Muy bien
Hola Sara, muchas gracias por compartir esta clase es muy útil, ahora estoy estudiándola para hacer que funcione directamente mostrando las fotos de un álbum en especifico para una galería que mostraré en una web, por favor si tienes sugerencias te lo agradezco de antemano.

ricardo

13/4/2015
Util
La clase es util siempre que tengas acceso a la configuracion del server y poner el safe mode en off, de otra forma no muestra nada proque te devuelve error 302

Gonzalo

07/7/2015
ya no funciona
Hola, pude implementar la clase y funcionaba perfecto, hace unas semanas verifico la pagina y me tiraba este error: THERE HAS BEEN AN ERROR: pageId invalid, cuando voy a verificar el id del álbum, me doy con que los albumes de facebook ya no tienen el ID en su url, se podria solucionar esto con otro dato en lugar del ID?

Saludos!