У меня есть серьезная проблема с приложением iframe. Мне нужно использовать много внешних JS-библиотек и других динамических stuuf, поэтому приложение FMBL не может быть выполнено. Когда я вызываю require_login(), я получаю диалог установки приложения, когда приложение еще не установлено, что нормально. Но после того, как приложение авторизации входит в бесконечный цикл переадресации с такими параметрами, как auth_token, установлено и так. Вчера мне удалось это исправить, но сегодня он снова сломался ... Что, черт возьми, происходит с FB? Это сводит меня с ума, чтобы найти разрешение, ни одно из найденных в сети, похоже, не работает.Facebook require_login() в приложении iFrame
До сих пор я пытался:
http://abhirama.wordpress.com/2010/03/07/facebook-iframe-xfbml-app/ (! 7 марта 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/
Ничего из вышеперечисленного не работает ... По словам тех, и некоторые документы FB: http://wiki.developers.facebook.com/index.php/FB_RequireFeatures http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel
Мой пример тестовых файлов выглядят следующим образом:
<?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>
И файл xd_receiver.html междоменном является:
<!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>
Как заставить его работать?
Я использую структуру Kohana для этого и уже сменил заголовок («Местоположение») с url :: redirect() в библиотеке php facebook.
Это приложение iframe.Я пытаюсь вызвать require_login внутри iframe, и я перенаправляюсь за пределы Facebook к моему приложению на моем сервере, заканчивая бесконечным циклом с переменной auth_token в URI. Я попытался также использовать приложение FBML и поместить iframe в холст с помощью, но поток будет таким же. –