НИКАКОЙ FBML не работает в iframe на Facebook, используя PHP (то есть или ff или где-нибудь еще!) - PullRequest
1 голос
/ 28 марта 2010

Я пытался в течение трех дней и ничего не получил по этому поводу .... Я абсолютно не могу получить код "fb:" для рендеринга чего-либо! Я попробовал точный код в песочнице, и он отлично работает. Я прочитал все результаты поиска, которые смог найти и нигде не получил ...

Я использую стандартную страницу xd_receiver, а в теле есть эта строка:

< script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script> 

Вот моя страница указателя. Это, в основном, пример кода на Facebook ....

<?php
require_once 'facebook-platform/php/facebook.php';

//Authentication Keys
$appapikey = 'MY_KEY';         // obviously this is my real key
$appsecret = 'MY_SECRET';      // same thing

$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
?>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
 <head></head>
 <body>
  <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>

<?
   echo "<p>Hello, <fb:name uid=\"$user_id\" useyou=\"false\"></fb:name>!</p>";

?>

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

как ни странно, когда я помещаю этот код ниже, где он повторяет имя вошедшего в систему пользователя, он показывает номера идентификаторов друзей. Но опять же, они не будут отображать их имена

<?php
   friends.get API method echo "<p>Friends:";
   $friends = $facebook->api_client->friends_get();
   $friends = array_slice($friends, 0, 25);
   foreach ($friends as $friend) {
      echo "<br>".$friend." - <fb:name uid=\".$user_id.\" useyou=\"false\"></fb:name>";
   }
   echo "</p>";
?>

Вот мои настройки:

URL обратного вызова Canvas http://www.my -actual-website.com / тест /

Canvas URL http://apps.facebook.com/gogre_testapp/

FBML / IFRAME IFrame

Тип приложения Сайт

URL-адрес после удаления http://www.my -actual-website.com / тест /

URL-адрес после авторизации http://www.my -actual-website.com / тест /

Пожалуйста, кто-нибудь, помогите мне! Я безуспешно пытался в течение нескольких дней

1 Ответ

2 голосов
/ 28 марта 2010

Проблемы с XFBML часто являются результатом невозможности доступа Facebook к вашему файлу xd_receiver.htm. Попробуйте указать полный URL-адрес xd_receiver.htm, т.е. http://yourdomain.com/xd_receiver.htm в строке FB.Facebook.init и убедитесь, что файл обслуживается правильно, обратившись к нему вручную.

Другая причина, которая определенно вызывает это, заключается в том, что в настройках вашего приложения не устанавливается Connect URL Перейдите в приложение для разработчиков и измените свои настройки. В разделе Параметры подключения установите URL-адрес для подключения к основному сайту, т.е. http://yourdomain.com/.

...