8

フィード ダイアログを開こうとすると、次のエラーが表示されます。

エラーが発生しました。後でもう一度やり直してください。

ウォールに投稿するには、ユーザーにアプリを承認してもらう必要がありますか? これは、アプリ自体によってユーザーのウォールに自動的に公開されるものではないため、そうではないと考えていました。さらに、管理者アカウントを使用しているときにエラーが発生します。

これが私のコードです:

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

2 に答える 2

4

これは、アプリの設定と共有しようとしている URL との間に不一致があることを Facebook が検出した場合に発生するようです。私の場合、FB.init に間違ったアプリ ID が設定されていたために発生していたことがわかりました。私の知る限り、共有している URL は、 http://developers.facebook.com/appsのアプリ設定のサイト URL に対応している必要があります。

その他のヒントについては、このスレッドを参照してください。

于 2012-09-13T15:02:46.720 に答える
2

私も同じ問題を抱えていました。ページの読み込み後にフィード ダイアログを自動的に開こうとしていました。そして、10回中9回、このエラーが表示されました。コードは$(document).readyjQuery関数にありました。そして、コードが実行される時点で、いくつかの Facebook のものがまだロードされていないようです。コードを$(window).loadブロック (すべてのページ コンテンツが読み込まれた後に実行される) に移動したところ、問題は解決しました。

于 2013-08-26T19:00:37.017 に答える