ruby on rails:我如何使用facebooker2在我的墙上或朋友的墙上制作墙柱?

时间:2010-12-08 14:22:14

标签: ruby-on-rails facebooker facebooker2

所以我使用facebooker2插件来做facebook连接。我能够提取有关用户的信息,但这是我一直在努力的...

我不知道如何将东西贴在我的墙上或朋友的墙上。 我知道在facebooker中,您可以调用方法publish_to,它将完成这项工作。但是看起来facebooker2的记录有点少,因为我看起来遍布谷歌......

我想知道是否有专家可以提供帮助?

非常感谢

1 个答案:

答案 0 :(得分:3)

如果您使用facebooker2集成了Facebook Connect您可能需要在客户端进行此操作。如果我理解正确,facebooker2不提供任何服务器端API。

因此加载JavaScript SDK(如果您已成功连接则应加载)并继续使用集成的Facebook UI发布状态:

FB.ui({
    method: 'stream.publish',
    attachment: {
      name: 'JSSDK',
      caption: 'The Facebook JavaScript SDK',
      description: (
        'A small JavaScript library that allows you to harness ' +
        'the power of Facebook, bringing the user\'s identity, ' +
        'social graph and distribution power to your site.'
      )
    }
  },
  function(response) {
    if (response && response.post_id) {
      alert('Post was published.');
    } else {
      alert('Post was not published.');
    }
  }
);

FB.ui支持以下对话框:

  • friends.add
  • stream.publish
  • stream.share
  • fbm.dialog
  • bookmark.add
  • profile.addtab

如果您不想直接向Feed发布状态更新,而不使用花哨的UI,请使用FB.api函数:

var body = 'Reading Connect JS documentation';
FB.api('/me/feed', 'post', { message: body }, function(response) {
  if (!response || response.error) {
    alert('Error occured');
  } else {
    alert('Post ID: ' + response.id);
  }
});

<强>更新

实际上你可以做所有这个服务器端 - 我最初没有注意到Mongli - 集成了FB Open Graph API(facebooker2 gem取决于它),样本控制器动作:

def create
  note = current_user.sent_notes.create!(params[:note])
  flash[:notice] = "Note sent to #{note.recipient.email}"
  if current_facebook_user
    current_facebook_user.fetch
    current_facebook_user.feed_create(
      Mogli::Post.new(:name => "#{current_facebook_user.name} sent a note using notes!",
                      :link=>note_url(note),
                      :description=>truncate(note.body,:length=>100)))
  end
  redirect_to notes_path
end

@ {Mogli https://github.com/mmangino/mogli

https://github.com/mmangino/facebooker2_fb_connect_example

上查看facebooker2示例