FBML не отображается в приложении Facebook в iframe - пожалуйста, помогите

Я разрабатываю приложение Facebook на PHP. Он загружается как iframe, а не как FBML. Нормальное взаимодействие с Facebook работает. Например, следующий код дает имя пользователя:

$facebook = new Facebook($config->appapikey, $config->appsecret);
$user_id = $facebook->require_login($required_permissions = 'email');
echo $user->name;

Где $ user - это мой класс, в котором данные пользователя загружаются из facebook. Мой документ начинается так:

<!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" xmlns:fb="http://www.facebook.com/2008/fbml">
<head><title>Appname</title>
</head>
<body>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/de_DE" type="text/javascript"></script>

И заканчивается вот так:

<script type="text/javascript">  
FB_RequireFeatures(['XFBML','CanvasUtil'], function(){ 
FB.init("<?php echo $config->appapikey; ?>", "/app/xd_receiver.htm");
FB.CanvasClient.startTimerToSizeToContent(); 
 });
  </script>
</body>
</html>

Также загружен файл xd_receiver.htm, как я вижу в Firebug.

Но моя проблема в том, что, например, форма запроса не загружается. Мой код:

<fb:serverFbml>
    <script type="text/fbml"> 
        <fb:fbml>
            <fb:request-form method="post" action="<?php echo $config->site; ?>index.php" type="appname" invite="true" target="_top" content="content">
                <fb:multi-friend-selector actiontext="text" rows="3" showborder="true" target="_top"/>
            </fb:request-form>
        </fb:fbml>
    </script>
</fb:serverFbml>

Я вижу код с помощью Firebug, но форма не отображается в Facebook.

2 или 3 недели назад он отображался, но на этот раз у меня были теги

    </fb:fbml>
</script>
</fb:serverFbml>

вокруг моего полного текста в теле. 2 недели назад у меня была проблема, что больше ничего не отображалось. После удаления тегов отображается мое приложение, но не форма.

Я ищу в Интернете в течение 1 недели и прочитал много тем о FBML и XFBML в Facebook, но у меня ничего не работало.

Так что заранее спасибо за помощь.


person Jakob    schedule 15.04.2010    source источник


Ответы (1)


Вау, я не знаю, что сказать. Я только что просмотрел весь ваш код, и все вроде как на месте. Может попробовать добавить это

FB.XFBML.Host.autoParseDomTree = true;

Сразу после звонка в FB.init()

person Peter Bailey    schedule 15.04.2010
comment
Спасибо за ответ, но и с вашим кодом ничего не изменилось. В другой момент в своем приложении я пытаюсь показать пользователю форму для публикации на стене. Это тоже работало в прошлом, но больше не работает. мой код: function publish () {var action_links = [{'text': 'appame', 'href': 'link'}]; var message = 'сообщение'; FB_RequireFeatures ([Connect], function () {FB.init ('appid', 'xd_receiver.htm'); FB.ensureInit (function () {FB.Connect.streamPublish (message, null, action_links, null);}) ;}); } window.onload = опубликовать; - person Jakob; 15.04.2010