Ошибка при попытке открыть диалог

Я получаю следующую ошибку при попытке открыть диалоговое окно канала.

Произошла ошибка. Пожалуйста, попробуйте позже.

Нужно ли, чтобы пользователи авторизовали приложение для публикации на своей стене? Я думал, что не будет, потому что это не будет что-то, что будет опубликовано на стене пользователя автоматически самим приложением. Кроме того, я получаю сообщение об ошибке при использовании учетной записи администратора.

Вот мой код:

<script>
  window.fbAsyncInit = function() {
    FB.init({
  appId      : 'xxxxxxxxxxxxxxx', // App ID
  channelURL : 'http://localhost/foods/channel.html', // Channel File
  status     : true, // check login status
  cookie     : true, // enable cookies to allow the server to access the session
  oauth      : true, // enable OAuth 2.0
  xfbml      : true  // parse XFBML
});

// Additional initialization code here
  };

  // Load the SDK Asynchronously
  (function(d){
 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
 js = d.createElement('script'); js.id = id; js.async = true;
 js.src = "//connect.facebook.net/en_US/all.js";
 d.getElementsByTagName('head')[0].appendChild(js);
}(document));


function postToFeed() {

    // calling the API ...
    var obj = {
      method: 'feed',
      link: 'https://developers.facebook.com/docs/reference/dialogs/',
      picture: 'http://fbrell.com/f8.jpg',
      name: 'Facebook Dialogs',
      caption: 'Reference Documentation',
      description: 'Using Dialogs to interact with users.'
    };

    function callback(response) {
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
    }

    FB.ui(obj, callback);
  }
</script>

<a href="javascript:void();" onclick="postToFeed();"><img src="images/share.gif" /></a>

2 ответа

Похоже, это происходит, когда Facebook обнаруживает некоторое несоответствие между настройками вашего приложения и URL, которым вы пытаетесь поделиться. Я обнаружил, что в моем случае это происходило, потому что в моем FB.init был указан неверный идентификатор приложения. AFAIK URL-адрес, которым вы делитесь, должен соответствовать URL-адресу сайта в настройках вашего приложения по http://developers.facebook.com/apps.

Посмотрите эту ветку для получения дополнительных советов.

У меня такая же проблема. Я пытался открыть диалоговое окно канала автоматически после загрузки страницы. И 9 раз из 10 это отображало эту ошибку. Код был в $(document).ready Функция jQuery. И кажется, что некоторые вещи в Facebook еще не были загружены в тот момент, когда код должен был быть выполнен. Я переместил код в $(window).load блок (который выполняется после загрузки всего содержимого страницы), и проблема была решена.

Другие вопросы по тегам