Cicklow
Admin
Dseda
Verificado
Verificación en dos pasos activada
Usuário popular!
Suscripción a IA
Hola en este post les enseñare como crear aplicaciones dentro de un iframe. Ya que facebook no permite más aplicaciones FBML, tendremos que aprender a programar en iframes. No es tan difícil, solo tendremos que usar el SDK de PHP y el SDK de JS.
SDK PHP = Enlace eliminado
SDK JS = JavaScript SDK - Facebook Developers
Creamos un archivo llamado config.php, con este contenido:
Lo primero que tendremos que hacer es definir las url de nuestra apps dentro de nuestro servidor y la url dentro de facebook.
Ahora crearemos una función encargada de crear la url de login de facebook (pedir permisos).
Con esto tendríamos config.php
Ahora crearemos nuestra aplicación.
Llamamos a nuestro config.php
Comenzamos con nuestro código HTML (No me pondré en detalle de cómo hacer una web HTML, este código iría después del BODY)
En el código anterior lo que hacemos es llamar la api de Facebook desde el SDK JS, con esto tendremos los datos del usuario en funciones JavaScript, también las tendremos desde nuestro SDK-PHP. Ya les mostrare como.
Ahora verificamos si el usuario tiene una sesión creada, si tiene continuamos con nuestra aplicación, de lo contrario re direccionamos al login de facebook (si el usuario accede por primera vez se le pedirá permisos para acceder, si ya a accedido solo re direccionara y regresara a nuestra aplicación (creando así la sesión). (PHP CODE)
Ahora mostraremos los datos del usuario con PHP
Ahora mostraremos los datos del usuario con JS
Para recomendar nuestra aplicación usamos este código:
Saludos y suerte
Adjuntos:
Ver o anexo index.txt
Ver o anexo config.txt
SDK PHP = Enlace eliminado
SDK JS = JavaScript SDK - Facebook Developers
Creamos un archivo llamado config.php, con este contenido:
Lo primero que tendremos que hacer es definir las url de nuestra apps dentro de nuestro servidor y la url dentro de facebook.
Inserir CODE, HTML ou PHP:
define('FAC','http://apps.facebook.com/miapps/');
define('WEB','http://www.miserver.com/miapps/');
Ahora crearemos una función encargada de crear la url de login de facebook (pedir permisos).
Inserir CODE, HTML ou PHP:
@set_time_limit(0);
$__ID = 'ID_DE_NUESTRA_APLICACION';
$__KEY = 'SECRET_KEY';
require '../src/facebook.php'; //SDK PHP-Facebook
// Creamos una instancia de facebook
$facebook = new Facebook(array(
'appId' => $__ID,
'secret' => $__KEY,
'cookie' => true,
));
function redirect($PERMS="") { //esta funcion nos regresara el link para pedir permisos, el parametro son los permisos especiales
global $facebook;
$loginUrl=$facebook->getLoginUrl(array(
'canvas'=>1,
'fbconnect'=>0,
'display'=>'page',
'next'=>FAC,
'cancel_url'=>FAC,
'req_perms'=>$PERMS,
));
return $loginUrl;
exit();
}
//Guardamos la session de facebook!
$session = $facebook->getSession();
Ahora crearemos nuestra aplicación.
Llamamos a nuestro config.php
Inserir CODE, HTML ou PHP:
include('config.php');
Comenzamos con nuestro código HTML (No me pondré en detalle de cómo hacer una web HTML, este código iría después del BODY)
Inserir CODE, HTML ou PHP:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '<?=$__ID;?>', status: true, cookie: true, xfbml: true});
FB.Canvas.setAutoResize(); //Acomoda el tamaño para que no se vean las barras de navegacion
};
//Funcion encargada de recomendar nuestra aplicacion (Será llamada desde un link)
function Rec(){
FB.ui({method: 'apprequests', message: 'Te recomiendo mi aplicacion', data: 'track<?=time();?>'});
}
//Usamos el SDK JS-Facebook
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/es_LA/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
Ahora verificamos si el usuario tiene una sesión creada, si tiene continuamos con nuestra aplicación, de lo contrario re direccionamos al login de facebook (si el usuario accede por primera vez se le pedirá permisos para acceder, si ya a accedido solo re direccionara y regresara a nuestra aplicación (creando así la sesión). (PHP CODE)
Inserir CODE, HTML ou PHP:
if (!is_array($session)) {
//Redireccionamos usando window.top ya que tenemos que redireccionar por ensima de nuestro iframe, llamamos a redirect() que nos regresara el link, si necesitamos por ejemplo pedir el email del usuario usamos redirect('email').
echo '<script>window.top.location="'.redirect().'";</script>';
die();
} else {
try {
//Esto lo usaremos si queremos saber algún dato del usuario.
$me = $facebook->api('/me/?fields=name');
} catch (FacebookApiException $e) {
//Si existe algun error lo mostramos
echo $e;
die();
}
}
Ahora mostraremos los datos del usuario con PHP
Inserir CODE, HTML ou PHP:
echo 'Hola '.$me['data']['name'].'<br/>'; //Mostramos su nombre
echo '<img src="https://graph.facebook.com/'.$facebook->getUser().'/picture"/>'; //Mostramos la imagen del perfil, $facebook->getUser() nos regresa el id del usuario
Ahora mostraremos los datos del usuario con JS
Inserir CODE, HTML ou PHP:
<div id="texto"></div>
<script>
FB.api('/me', function(response) {
document.getElementById('texto').innerHTML = 'Nombre: ' + response.name + '<br/>';
document.getElementById('texto').innerHTML += 'Imagen: <img src="https://graph.facebook.com/' + response.id +'/picture"/><br/>';
} });
</script>
Para recomendar nuestra aplicación usamos este código:
Inserir CODE, HTML ou PHP:
<a href="#" onclick="Rec();return false;">Recomendar Aplicacion</a>
Saludos y suerte
Adjuntos:
Ver o anexo index.txt
Ver o anexo config.txt

