1

我正在尝试在我的 Facebook 应用程序中调用 Feed 表单,但我不知道该怎么做。我不熟悉 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>

为了正确调用 Feed 表单,我还需要做些什么吗?如果有人愿意写一个代码示例,将对我有很大帮助。

4

2 回答 2

2

这是我在我运营的 Facebook Connect 网站上使用的示例:

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.Connect方法几乎与普通的 JS 方法相同,因此类似的方法应该对您有用。

我要指出的是,您将其<?php echo $message; ?>作为呼叫的第一个参数Facebook.streamPublish()。假设$message是一个文本字符串,那么您需要将该输出用引号括起来,以使其成为有效的 Javascript。同样,这return attachment;条线对我来说没有多大意义。为什么那里有退货声明?我会将您的代码更改为:

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

这应该很容易调出 Feed 表单。

于 2009-12-30T05:24:58.877 回答