0

我收到一个 Canvas URL 错误,如下所示,我不清楚。我不清楚它来自哪里。我在 FB.init() 之前和之后进行了调试,并且都打印了。我的应用程序在“选择您的应用程序如何与 Facebook 集成”下配置为仅“使用 Facebook 登录的网站”,因此我在任何地方都没有指定画布 URL(没有这样做的选项)。我唯一拥有的是“应用程序域”和“站点 URL”,这两个我都设置为我的网站 URL (www.blah-blah.com)。错误后我的代码在下面,但我不知道下面的错误来自哪里。有什么想法吗?

错误:“应用程序配置不允许给定 URL。:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或画布 URL 匹配,或者域必须是其中一个的子域应用程序的域。”

<script>
  window.fbAsyncInit = function() 
{
  console.log("Hello");
  FB.init(
  {
    appId      : 'XXXX', // App ID
    channelUrl : '//www.XXXX.com/channel.html', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
  });
  console.log("Hello2");
  FB.Event.subscribe('auth.authResponseChange', function(response) 
  {
    console.log(response);
    if (response.status === 'connected') 
    {
      console.log('Connected case… ');
      testAPI();
    } 
    else if (response.status === 'not_authorized') 
    {
      FB.login();
      console.log('Not authorized case… ');
    } 
    else 
    {
      FB.login();
      console.log('else case… ');
    }
  });
};
// Load the SDK asynchronously
(function(d, s, id)
{ 
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) 
  {
    return;
  }
  js = d.createElement(s); 
  js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js";
  fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk'));

function doLogout() 
{
  FB.logout(function(response) 
  {
    //console.log(response);
    alert("Bye bye...");
  });
} 

function testAPI() 
{
  console.log('Welcome!  Fetching your information.... ');
  FB.api('/me', function(response) 
  {
    console.log('Good to see you, ' + response.name + '.');
  });
}
</script>
4

1 回答 1

0

好的,我发现了问题。不知何故,将“http”添加到 FB 应用程序设置中的一个 URL 神奇地解决了我的问题。叹。

于 2013-06-22T17:40:15.143 回答