【问题标题】:Facebook JS API errorsFacebook JS API 错误
【发布时间】:2011-11-11 18:50:22
【问题描述】:

我正在尝试创建一个测试应用程序,源代码如下(index.php):

<?php
include_once 'facebook/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'YYYYYYYYYYYYYYYY',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXX',
));

$user = $facebook->getUser();

if($user)
{
  try
  {
    $user_profile = $facebook->api('/me');
  }
  catch(FacebookApiException $e)
  {
    error_log($e);
    $user = null;
  }
}

if( ! $user)
{
  echo "<script type=\"text/javascript\">top.location.href='" . $facebook->getLoginUrl(array(
    'scope' => 'publish_actions,publish_stream',
    'redirect_uri' => 'http://apps.facebook.com/MYAPPURL/'
  )) . "'</script>";
  exit;
}
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>TribusWar</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="http://connect.facebook.net/en_US/all.js#appId=YYYYYYYYYYYYYYYY&amp;xfbml=1"></script>
</head>
<body>
<input type="button" value="Compartilhar" id="xxxxx" />
</body>
<script type="text/javascript">
document.getElementById('xxxxx').addEventListener('click', function()
{
  FB.ui({
    method: 'feed',
    display: 'iframe',
    name: 'Dialog Name',
    caption: 'Caption for dialog',
    description: 'Lorem ipsum dolor sit amet...'
  }, function()
  {
    alert(arguments);
  });
}, false);
</script>
</html>

使用此代码,我想在页面上显示一个按钮,单击该按钮会触发发布对话框。当页面加载时,它会产生错误,当单击按钮时,会发生另一个错误并且不显示对话框:

我不知道这是怎么回事。我不知道 publish_stream 权限是否真的必要,因为我正在尝试使用 facebook 对话框。谁能帮帮我?

【问题讨论】:

    标签: javascript facebook facebook-javascript-sdk facebook-php-sdk


    【解决方案1】:

    正如 Nava Salvatore(和调试器控制台)所说,您需要添加:

    <div id="fb-root"></div>
    

    代码的&lt;body&gt; 中的某个位置。此外,您的最终 &lt;script&gt; 块应位于 &lt;/body&gt; 标记之前(按照惯例)。您不需要任何额外的权限来简单地显示一个对话框;不需要publish_stream

    【讨论】:

    • 另外我在选项中添加了linkpicture
    • 无论如何,有没有办法简单地将用户名添加到对话框文本中?
    • 并不是我突然意识到的;但这是一个不同的问题。
    【解决方案2】:

    尝试添加

    <div id="fb-root"></div>
    

    &lt;script之前

    【讨论】:

      猜你喜欢
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多