J'ai de sérieux problèmes avec l'application iframe. J'ai besoin d'utiliser de nombreuses bibliothèques JS externes et d'autres stuuf dynamiques pour que l'application FMBL ne puisse pas être faite. Quand j'appelle require_login() j'obtiens une boîte de dialogue d'installation applicaition quand l'application n'est pas déjà installée, ce qui est ok. Mais après l'application d'autorisation entre dans une boucle de redirection sans fin avec des paramètres comme auth_token, installé et ainsi de suite. Hier, j'ai réussi à résoudre ce problème, mais aujourd'hui, il est cassé à nouveau ... Qu'est-ce qui se passe avec FB? Cela me rend fou de trouver une solution, aucun de ceux trouvés sur le net ne semble pas fonctionner.Facebook require_login() dans l'application iFrame
Jusqu'à présent, j'essayé:
http://abhirama.wordpress.com/2010/03/07/facebook-iframe-xfbml-app/ (! 7 mars 2010) http://forum.developers.facebook.com/viewtopic.php?pid=156092 http://www.keywordintellect.com/facebook-development/how-to-set-up-a-facebook-iframe-application-in-php-in-5-minutes/
http://www.markdeepwell.com/2010/02/validating-a-facebook-session-within-an-iframe/ http://forum.developers.facebook.com/viewtopic.php?pid=210449 http://www.ajaxlines.com/ajax/stuff/article/facebook_fbml_rendering_in_iframe_application.php http://www.aratide.com/php/solving-the-break-out-issue-in-iframe-facebook-applications/
Aucune de ces travaillé ... Selon les et quelques documents FB: http://wiki.developers.facebook.com/index.php/FB_RequireFeatures http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel
Mon exemple des fichiers de test regarder comme suit:
<?php
//Link in library.
require_once '../application/vendor/Facebook/facebook.php';
//Authentication Keys
$appapikey = 'XXXX';
$appsecret = 'XXXX';
//Construct the class
$facebook = new Facebook($appapikey, $appsecret);
//Require login
$user_id = $facebook->require_login();
?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title></title>
</head>
<body>
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
This is you: <fb:name uid="<?php echo $user_id?>"></fb:name>
<?php var_dump($facebook->$this->facebook->api_client->friends_get())?>
<script type="text/javascript">
FB_RequireFeatures(["XFBML"], function(){
FB.Facebook.init("<?=$appapikey?>", "xd_receiver.html");
});
</script>
</body>
</html>
Et fichier cross-domain xd_receiver.html est:
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>cross-domain receiver page</title>
</head>
<body>
<script src="http://static.ak.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
</body>
</html>
Comment puis-je le faire fonctionner? J'utilise le framework Kohana pour cela et j'ai déjà remplacé l'en-tête ('Location') avec url :: redirect() dans la bibliothèque php facebook.
Il s'agit d'une application iframe.J'essaie d'appeler require_login à l'intérieur de iframe et je suis redirigé en dehors de Facebook vers mon application sur mon serveur se terminant par une boucle sans fin avec la variable auth_token dans l'URI. J'ai aussi essayé de faire une application FBML et de mettre iframe dans canvas en utilisant mais le flux est le même. –