3

JS-API を使用して、アプリケーションによって生成されたステータス メッセージを公開する許可を求めるダイアログを生成しています。以下は、私が話していることのスクリーンショットです。

ブラウザによってブロックされる THE POP-UP

コードは次のとおりです。

FB.ui(
   {
     method: 'feed',
     name: 'Facebook Dialogs',
     link: 'http://developers.facebook.com/docs/reference/dialogs/',
     picture: 'http://fbrell.com/f8.jpg',
     caption: 'Reference Documentation',
     description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
     message: 'Facebook Dialogs are easy!'
   },
   function(response) {
     if (response && response.post_id) {
       alert('Post was published.');
     } else {
       alert('Post was not published.');
     }
   }
 );

ドキュメントに記載されているサンプル JS コードを使用していますが、ブラウザの設定でポップアップがブロックされていなければ問題なく動作します。しかし、ステータス メッセージが表示されなければ、アプリの有用性はありません。

助けてください; 私は最後の段階で立ち往生しています。

4

3 に答える 3

3

なぜそれがあなたを悩ませているのか分かりません。ユーザーがFACEBOOKポップアップをブロックしている場合、それは彼の損失です!

とにかく、本当にすべてのケースを処理する必要がある場合は、別の方法を選択できます。フィードダイアログを読んでください。

前の手順が完了したら、ページをFacebookフィードメソッドにリダイレクトして、ページとして開くようにします。

http://www.facebook.com/dialog/feed?
  app_id=123050457758183&
  link=http://developers.facebook.com/docs/reference/dialogs/&
  picture=http://fbrell.com/f8.jpg&
  name=Facebook%20Dialogs&
  caption=Reference%20Documentation&
  description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.&
  message=Facebook%20Dialogs%20are%20so%20easy!&
  redirect_uri=http://www.example.com/response

ここで変更する重要な部分はとであるapp_idためredirect_uri、コードは次のようになります。

...
previous code
...
inside previous code success response
...
var url = "http://www.facebook.com/dialog/feed?" +
            "app_id=" + YOUR_APP_ID + "&" +
            "link=http://developers.facebook.com/docs/reference/dialogs/&" +
            "picture=http://fbrell.com/f8.jpg&" +
            "name=Facebook%20Dialogs&" +
            "caption=Reference%20Documentation&" +
            "description=Dialogs%20provide%20a%20simple,%20consistent%20interface%20for%20applications%20to%20interact%20with%20users.&" +
            "message=Facebook%20Dialogs%20are%20so%20easy!&" +
            "redirect_uri=" + YOUR_REDIRECT_URI;
top.location.href = url;
于 2011-03-23T18:41:04.163 に答える
1

あなたのコードは問題ありません。フィード ダイアログが表示されます。あなたの問題は別の場所にあります。を追加しました<div id="fb-root"></div>か? <body>タグの直後のページの上部にあることを確認してください。

また、FB Javascript SDK を正しくロードしていることを確認してください。

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
于 2011-08-19T18:46:53.323 に答える
0

表示プロパティを追加するのを忘れたこのコードを使用してください

FB.ui(
   {
     method: 'feed',
     display: 'popup',
     name: 'Facebook Dialogs',
     link: 'http://developers.facebook.com/docs/reference/dialogs/',
     picture: 'http://fbrell.com/f8.jpg',
     caption: 'Reference Documentation',
     description: 'Dialogs provide a simple, consistent interface for applications to interface with users.',
     message: 'Facebook Dialogs are easy!'
   },
   function(response) {
     if (response && response.post_id) {
       alert('Post was published.');
     } else {
       alert('Post was not published.');
     }
   }
 );
于 2014-01-22T13:59:25.127 に答える