Ошибка FB.init(): данный URL-адрес не разрешен конфигурацией приложения.

Я пытаюсь следовать руководству здесь. Но когда я вызываю FB.init(...) с допустимыми и правильными параметрами, я получаю сообщение об ошибке: «Данный URL-адрес не разрешен конфигурацией приложения.: Один или несколько заданных URL-адресов не разрешено настройками приложения. Он должен совпадать с URL-адресом веб-сайта или URL-адресом холста, или домен должен быть поддоменом одного из доменов приложения." Я выполнил поиск (1 2) для этой ошибки, но у всех остальных возникают проблемы с простой установкой URL-адреса сайта для конфигурации их приложения Facebook. Я на 99% уверен, что установил это правильно, но, очевидно, я делаю что-то не так.

Вот мой код, который вызывает проблемы. Я заменил часть информации на «XXX» и «YYY» из соображений конфиденциальности.

<html>
<body>
<h1>Facebook</h1>
<div id="fb-root"></div>
<script>
  // Additional JS functions here
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'XXX', // App ID
      channelUrl : '//YYY.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
    });

  };//window.fbAsyncInit()

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "http://connect.facebook.net/en_US/all/debug.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>
</body>
</html>

Обратите внимание, что мне пришлось изменить параметр js.src в нижней части кода из примера, приведенного в руководстве. Я сомневаюсь, что это вызывает мою конкретную проблему, но вызывает некоторое беспокойство по поводу качества кода в учебнике. (Я ненавижу, когда код учебника не работает — какой в ​​этом смысл?)

Вы можете видеть в приведенном выше коде, что я заменил корень своего доменного имени на «YYY». Продолжая эту простую замену, вот некоторые значения из моей конфигурации приложения Facebook:

App ID: "XXX"
Display Name: "[blah blah blah]"
Namespace: "YYY"
App Domains: "YYY.com"
Sandbox Mode: "Enabled"
Canvas Page: "http://apps.facebook.com/YYY"
Canvas URL: "http://YYY.com/canvas/"

Я не уверен, какие еще детали вам могут понадобиться, чтобы помочь мне с этим. Все перечисленные URL-адреса являются функциональными. Спасибо за любую помощь!


person Carl Rossman    schedule 29.11.2012    source источник


Ответы (1)


Обратите внимание, что мне пришлось изменить параметр js.src в нижней части кода из примера, приведенного в руководстве.

Почему? Вы тестируете, просто вызывая свою страницу в браузере из файловой системы, а не по HTTP через локальный веб-сервер?

В последнем случае у вас нет «домена», по которому Facebook мог бы проверить происхождение вашего запроса. Настройте локальный веб-сервер, вызовите через него документ и повторите попытку.

person CBroe    schedule 29.11.2012
comment
Спасибо, СиБро! Вот оно. - person Carl Rossman; 01.12.2012