1

我已经尝试了三天,但在这方面一无所获......我绝对无法获得任何“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>

奇怪的是,当我将这段代码放在它与登录用户名相呼应的地方时,它确实显示了朋友的 ID 号。但同样,它不会呈现他们的名字

<?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 http://www.my-actual-website.com/test/

画布 URL http://apps.facebook.com/gogre_testapp/

FBML/iframe iframe

应用类型网站

删除后 URL http://www.my-actual-website.com/test/

授权后 URL http://www.my-actual-website.com/test/

请有人帮帮我!我已经尝试了几天没有成功

4

1 回答 1

2

XFBML 问题通常是由于 Facebook 无法访问您的 xd_receiver.htm 文件造成的。尝试将完整的 URL 放到xd_receiver.htm,即。http://yourdomain.com/xd_receiver.htm在该FB.Facebook.init行中,并确保通过手动访问该文件正确提供。

肯定会导致此问题的另一件事是未能在您的应用程序设置中设置连接 URL。转到开发人员应用程序并编辑您的设置。在连接选项下,将连接 URL 设置为您的主站点,即。http://yourdomain.com/.

于 2010-03-28T18:51:59.010 回答