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();
}
}
?>
¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 27


Enviar Comentario

(*)

(*)