Desarrollo: Cómo extraer las fotos de tus amigos con PHP y FQL

Os pongo aquí el ejemplo en el cual mostramos en pantalla todas la foto grade del perfil de tus amigos, para que el ejemplo funcione las librerías de la API de Facebook deben estar en la subcarpeta llamada phpdentro del mismo directorio que el fichero que ejecuta este código:

<?php
// the facebook client library
include_once 'php/facebook.php';

$appapikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Aquí va tu api key
$appsecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // Aquí va tu código secreto

$facebook = new Facebook($appapikey, $appsecret);

$user_id = $facebook->require_login();
session_id(preg_replace("/[^A-Za-z0-9-]/","",$facebook->api_client->session_key));
session_start();

$fql = "SELECT uid2 FROM friend WHERE uid1=". $user_id;
$resultado = $facebook->api_client->fql_query($fql);

foreach($resultado as $datos){
	$fql2 = "SELECT pic_big FROM user WHERE uid=". $datos["uid2"];
	$resultado2 = $facebook->api_client->fql_query($fql2);

	foreach($resultado2 as $datos2){
		echo("<img src='". $datos2["pic_big"] ."' alt="foto" /><br/>";
	}
}

?>

16 comentarios sobre “Desarrollo: Cómo extraer las fotos de tus amigos con PHP y FQL

  • el 25 Abril, 2010 a las 6:59 am
    Permalink

    Me da error en la linea 22? me podes ayudar?

    Respuesta
  • el 25 Abril, 2010 a las 4:52 pm
    Permalink

    Así a simple vista no sé que puede estar fallando.

    Prueba a comentar esa línea y en su lugar pon print_r($datos2); y dime que te muestra en pantalla.

    Respuesta
  • el 14 Octubre, 2010 a las 6:53 am
    Permalink

    Gabriel y demás lectores,

    Tengan presente que Facebook no recomienda realizar múltiples consultas de FQL por motivos de desempeño y que en su lugar pudiste traer todas las imágenes en una sola sentencia:

    $fql = “SELECT pic_big FROM user WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1=”. $user_id.”)”;

    Y sólo realizar una iteración sobre ese resultado. Este tipo de consultas mejoran muchísimo el desempeño de las aplicaciones de facebook.

    Respuesta
  • el 20 Marzo, 2011 a las 5:48 pm
    Permalink

    Hola! me gustaria saber donde tengo q ingresar ese codigo para extraer las fotos de un perfil en facebook.. disculpen mi ignorancia pero no conosco mucho del tema.. gracias 😀

    Respuesta
  • el 20 Marzo, 2011 a las 5:48 pm
    Permalink

    Hola! me gustaria saber donde tengo q ingresar ese codigo para extraer las fotos de un perfil en facebook.. disculpen mi ignorancia pero no conosco mucho del tema.. gracias 🙂

    Respuesta
  • el 21 Abril, 2011 a las 6:42 pm
    Permalink

    Sucede lo mismo, se abusa de foreach y de hacer tantísimas consultas cuando es más que suficiente con una única consulta FQL.
    El que tenga 500 amigos, tiene que hacer 501 consultas y relentiza mucho la aplicación, únicamente con una sola consulta es más que suficiente para mostrar todo el contenido.
    Todas las programaciones están igual, no están ni básicamente optimizadas.

    Respuesta
  • el 13 Mayo, 2011 a las 3:56 am
    Permalink

    Hola, quisiera saber si conocen alguna forma de que me pueda traer las fotos que estan en facebook del usuario de mi empresa, para que puedan ser publicadas en mi web, no se si exista algun componente o algo, muchas gracias de antemano.

    Respuesta
  • el 30 Mayo, 2011 a las 8:06 pm
    Permalink

    Al autor del articulo:
    podria modificar el ejemplo con las sugerencias de los comentaristas ?

    Respuesta
  • el 21 Octubre, 2011 a las 6:07 pm
    Permalink

    No he probado el codigo, pero por lo que veo, el error en la linea 22 es que dice “echo(“, el error es ese parentesis, deberia estar asi:
    echo “”;

    Saludos

    Respuesta
  • el 21 Octubre, 2011 a las 6:10 pm
    Permalink

    dejen la linea 22 asi:
    echo “”;

    no lo he probado, pero creo que asi queda bien.
    Saludos

    Respuesta
  • el 31 Octubre, 2011 a las 10:00 pm
    Permalink

    por favor alguen que me ayude necesito extraer los datos de usuario o sea de la session y guardarlos en mi base datos como lo puedo hacer???,

    gracias y muy buen ej, gracias

    Respuesta
  • el 11 Enero, 2012 a las 8:47 pm
    Permalink

    En mi caso es en la linea 23:

    echo("";

    Pero deberia quedar asi:

    echo("");

    Ya no hace falta utilizar la etiqueta

    alt=""

    Tambien se podria escribir asi:

    echo "";

    Respuesta
  • el 11 Enero, 2012 a las 8:52 pm
    Permalink

    En mi caso es en la linea 23:

    echo("<img src=’". $datos2["pic_big"] ."’ alt="foto" /><br/>";

    Pero deberia quedar asi:

    echo("<img src=’". $datos2["pic_big"] ."’/>");

    Ya no hace falta utilizar la etiqueta

    alt=""

    Tambien se podria escribir asi:

    echo "<img src=’". $datos2["pic_big"] ."’/>";

    Respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sígueme