Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Obtener datos de Facebook PHP

  • 08/04/2011
  • 11:58 pm
  • marcofbb

Como muchos sabemos Facebook se convirtió en algo que casi todos usamos. Elvago9 en Taringa posteo un código para obtener datos de facebook ya sea para crear un sistema de usuarios, un sistema de estadisticas, hacer spam 😛 o miles de cosas.

Obtener datos de Facebook con PHP

Primero tienen que crear una aplicación en Facebook para obtener las key.

index.php

<?php 
require_once("fb.php"); 
// Para conseguir las KEY, crean la aplicacion desde http://www.facebook.com/developers/createapp.php
$facebook =  new Facebooklogin('YOUR_APP_ID', 'UR_APP_SECRET', 'YOUR_URL'); // La url debe coneter el archivo donde esta ese script. Ejemplo: http://miweb.com/loginconfacebook.php/
 
// A continuacion se declaran los permisos 
$facebook->permissions("user_birthday"); // Se declara el permiso de acceso a la fecha de cumpleaños 
$facebook->permissions("email"); // Se decalra el permiso de acceso al email 
// Termina declaración de permisos 
 
$facebook->conect(); // Empieza la conexión a Facebook 
 
$datos = $facebook->getinfo(); // Se definde la variable datos con los datos del usuario. 
 
echo "<strong>Nombre del usuario:</strong> ".$datos['name']; 
echo "<br /><strong>Primer nombre:</strong> ".$datos['first_name']; 
echo "<br/><strong>Apellido:</strong> ".$dstos['last_name']; 
echo "<br /><strong>URL al perfil:</strong>". $datos['url_perfil']; 
echo "<br /><strong>Genero:</strong> ".$datos['genero']; 
echo "<br /><strong>Email:</strong> ".$datos['email']; // Solamente funciona si declaraste el permiso para tener el email
echo "<br /><strong>Cumpleaños:</strong> ".$datos['birthday']; // Solamente funciona si declaraste el permiso para tener el cumplaeños
echo "<br /><strong>Imagen de perfil:</strong> <br /><img src='".$datos['url_thumb']."' />"; 
?>

En index.php tenes que editar la linea

4
$facebook =  new Facebooklogin('YOUR_APP_ID', 'UR_APP_SECRET', 'YOUR_URL');

fb.php

<?php
if(!function_exists('file_get_contents')){echo('Se necesita la extencion FILE_GET_CONTENTS de PHP.');}
if(!function_exists('json_decode')){echo('Se necesita la extencion JSON de PHP.');}
class Facebooklogin 
{
private $appId = "";
private $appSecret = "";
private $appUrl = "";
private $dialog_url = "";
private $code = "";
private $access_token = "";
private $abr_gender = array('male'=> 'Masculino','female' => 'Femenino');
private $user = "";
private $permissions = array();
public function __construct($app_id, $app_secret, $app_url) {
if(!($app_id == "") OR ($app_secret == "") OR ($app_url == "")) { 
$this->appId = $app_id;
$this->appSecret = $app_secret;
$this->appUrl = $app_url;
} else { 
echo "Debe ingresar la ID, la ID secret, la URL, y los permisos de su aplicacion en Facebook.";
}
}
public function permissions($permissions) {
if(($permissions == "email") OR ($permissions == "user_birthday") OR ($permissions == "offline_access")) { 
$this->permissions[$permissions] = "On";
}
}
public function conect() { 
if(isset($_REQUEST["code"])) {
$this->code = $_REQUEST["code"];}else{$this->code = "";}
$this->dialog_url = "https://www.facebook.com/dialog/oauth?client_id=".$this->appId."&redirect_uri=".urlencode($this->appUrl)."&scope=";
if(empty($this->code)){
echo("<script>top.location.href='".$this->dialog_url."'</script>");
}
$this->access_token = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=".$this->appId."&redirect_uri=".$this->appUrl."&client_secret=".$this->appSecret."&code=".$this->code);
}
public function getinfo() { 
if($this->user = json_decode(file_get_contents('https://graph.facebook.com/me?'.$this->access_token))){ 
$r['name'] = $this->user->name;
$r['first_name'] = $this->user->first_name;
$r['last_name'] = $this->user->last_name;
$r['url_perfil'] = $this->user->link;
$r['genero'] = $this->abr_gender[$this->user->gender];
if($this->permissions['email']) {
$r['email'] = $this->user->email;
}
if(isset($this->permissions['user_birthday'])) {
$r['birthday'] = $this->user->birthday;
}
 
$r['url_thumb'] = "https://graph.facebook.com/me/picture?type=large&".$this->access_token;
return $r; 
} else
return array();
}
}
?>

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 26

Avatar
elvago9
28/05/2011
8:15 pm

Jaja, es mi código :]

Avatar
28/05/2011
8:25 pm

Si yo fui el que te pide permiso para este post, y los otros 3 vía mp en Taringa!

Saludos

Avatar
landito
02/06/2011
3:07 pm

No me funciona, me da el siguiente error

Error
Ocurrio un error con NTSOnline. Por favor inténtalo de nuevo más tarde

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: La URL dada no está permitida por la configuración de la aplicación.

Avatar
02/06/2011
8:10 pm

Eso es error desde facebook

Avatar
19/06/2011
7:59 am

Que funcion tiene?
es decir, que te crea un sistema re registro de usuarios? y ese registro que se almacena en la sql de facebook?
Es que no entendi muy bien que podemos conseguir con ese codigo ni como va jeje

Un saludo y felicidades por la web, me toy repasando todos los articulos que tienes y me van bien 😉

Avatar
19/06/2011
2:16 pm

Este código lo único que hace es sacar informacion ( nombre, cumpleaños, ect ) del usuario de facebook.

Con este código se pueden crear sistema de comentarios ya que cuando quieres subir el comentario a la BD pones que tome los datos desde facebook.

Más adelante creare una guía de como usar facebook en nuestras webs.

Avatar
Diego
28/07/2011
4:55 pm

hola, esto no es gratis beda por que me pide targeta de gradito como lo ago para que sea gratis

Avatar
28/07/2011
6:12 pm

😐 es gratis esto, por favor aclara lo que hiciste para que te pida tarjeta de crédito

Avatar
Diego
31/07/2011
5:14 pm

mira yo ise eso pero cuando ago la aplicacion me pide berificar mi cuenta y me pide mi tarjeta de credito o mi numero de cerular, y yo no quiero dar mi cel o mi tarjeta hay otro manera de barificarla

Avatar
31/07/2011
6:00 pm

no :S no hay otra manera, lo que puedes hacer es verificar tu cuenta con un numero de celular. Yo la verifique con el mismo, no confió en facebook pero no me queda otra.

Saludos, también otra forma de verificar la cuenta es con una fotocopia del dni, solo la parte del nombre, foto y fecha de nacimiento.

Saludos

Avatar
20/09/2011
6:08 am

Interesante la entrada, pero en este blog encontré una forma muy sencilla de como realizar la autenticación de usuarios en una aplicación facebook y obtener información a través de la solicitud de permisos al usuario.

http://aplicacionesfacebookparadummies.blogspot.com/2011/09/obtener-datos-usuario-mediante-login.html

Puede resultarles útil

Avatar
ricardo
29/12/2011
12:25 am

hice todo y todo salio bien excepto que me salen los campos vacios, asi

Nombre:
Apellido:
etc...

que puede pasar?

Avatar
Rodolfo
13/03/2012
4:27 pm

Oye estúpido, eso de la url que pedo, nada más pones // La url debe coneter el archivo donde esta ese script. Ejemplo: http://miweb.com/loginconfacebook.php/

Imbécil, explica bien pendejo, cual puto script?

Avatar
Junior
27/03/2012
12:04 pm

Saludos, me podrian explicar que datos contiene el archivo loginconfacebook.php por favor. Es que no entendi bien

Avatar
07/05/2012
3:49 pm

Sirve ademas para posicionamiento web en Google y Facebook ... muy bueno !!

Avatar
Louise
26/05/2012
8:22 am

Haz la referencia al articulo original (Elvago9), es decir a la página web, para ver si se ve mejor la explicación.

Avatar
junior jose
22/11/2012
1:48 pm

porque mi pagina de facebook no abre cuando voy a eliminar unas mujeres q salen desnuda se bloqueo y no puedo sedeer a mi pagina

Avatar
RogerJhon
09/01/2013
8:11 pm

me sale este error:
Warning: file_get_contents(https://graph.facebook.com/me?) [function.file-get-contents]: failed to open stream: Connection timed out in /home/qpasacix/public_html/fb.php on line 39

Avatar
toniveas
24/01/2013
9:07 pm

A mi me sale el mismo error de RogerJhon, y cuando se han dado permisos de face, desaparece y acontinuación se muestran los resultados pero en una pagina nueva, no dentro del marco de Face.

Avatar
24/01/2013
9:08 pm

Este articulo es viejo, vamos a crear uno nuevo para la nueva gestión de la API

Saldudos

Avatar
21/03/2013
6:04 pm

el. facebok. es. chido!!!!!!!!!

Avatar
wilchss
18/04/2013
1:14 am

Hola yo tampoco entiendo esta parte
// La url debe coneter el archivo donde esta ese script. Ejemplo: http://miweb.com/loginconfacebook.php/

tambien me gustaria saber como es que voy a ver los datos que supuestamente se muestran en el index.php

Avatar
10/10/2013
6:16 pm

Gracias lo usare en mi pagina

Avatar
02/02/2015
3:45 pm

hay un error en este parametro
echo "Apellido: ".$dstos['last_name'];

es $Datos

Avatar
David Juarez
02/10/2015
4:53 pm

Hola, alguien sabe de algún formulario en PHP para sacar el ID de una página de Facebook? al estilo de http://findmyfbid.com/ pero lo quiero para subirlo en mi servidor y obvio con diseño propio, es para una tarea. Saludos.


Enviar Comentario

(*)

(*)