1

Facebookアプリケーションでフィードフォームを呼び出そうとしていますが、その方法がわかりません。私はFBJSとそのAPIに精通していません。具体的には、次のダイアログを表示する必要があります:http ://wiki.developers.facebook.com/index.php/Feed_Forms

これが私が今のところ得たものです:

<script type="text/javascript">
var attachment = <?php echo json_encode($attachment); ?>;
return attachment;
Facebook.streamPublish(<?php echo $message; ?>, attachment, null, <?php echo $user; ?>);
</script>

フィードフォームを正しく呼び出すために他に何かする必要がありますか?コード例は、誰かが喜んで書き上げてくれるなら、私を大いに助けてくれるでしょう。

4

2 に答える 2

2

これは、私が運営しているFacebookConnectサイトから使用した例です。

var message = 'This is my message!';
var attachment = {
    'name':'Page name',
    'href':'http://mysite.com',
    'caption':'Some kind of caption';
};
attachment.media = [{'type':'image','src':'http://mysite.com/images/lolcat.jpg','href':'http://mysite.com'}];
var action_links = [{'text':'Action Link!','href':'http://mysite.com'}];
FB.Connect.streamPublish(message, attachment, action_links);

メソッドは通常のFB.ConnectJSメソッドとほとんど同じなので、似たようなものが機能するはずです。

私はあなたがあなたの呼び出し<?php echo $message; ?>への最初のパラメータとして持っていることを指摘します。Facebook.streamPublish()がテキスト文字列であると仮定する$messageと、有効なJavascriptであるためには、その出力を引用符で囲む必要があります。同様に、このreturn attachment;線は私にはあまり意味がありません。なぜそこにreturnステートメントがあるのですか?私はあなたのコードをこれに変更します:

<script type="text/javascript">
var attachment = <?php echo json_encode($attachment); ?>;
Facebook.streamPublish('<?php echo addslashes($message); ?>', attachment, null, <?php echo $user; ?>);
</script>
于 2009-12-30T02:21:30.777 に答える
1

FBMLキャンバスページの場合、実行する必要があるのは次のようにコマンドを実行することだけです。

<script type="text/javascript">

var attachment = <?php echo json_encode($attachment); ?>;

Facebook.streamPublish('', attachment, null);       

</script>

フィードフォームが簡単に表示されます。

于 2009-12-30T05:24:58.877 に答える