Получение ошибки при попытке открыть диалоговое окно канала - PullRequest
8 голосов
/ 17 ноября 2011

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

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

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

Вот мой код:

<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 ]

4 голосов
/ 13 сентября 2012

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

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

2 голосов
/ 26 августа 2013

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

...