ruby on rails: Как я могу использовать facebooker2, чтобы сделать стенной пост на моей стене или на стене моих друзей? - PullRequest
0 голосов
/ 08 декабря 2010

Так что я использую плагин facebooker2 для подключения к Facebook.Я смог извлечь информацию о пользователе, но вот с чем я боролся ...

Я не уверен, как разместить что-то на моей стене или на стенах моих друзей .. Я знаю, что в FacebookerВы можете вызвать метод publish_to, и он сделает свою работу.Но похоже, что facebooker2 немного менее задокументирован, так как я просмотрел Google.

Мне было интересно, есть ли какой-нибудь эксперт, который мог бы помочь с этим?

Большое спасибо

1 Ответ

3 голосов
/ 08 декабря 2010

если вы используете facebooker2, который интегрирует Facebook Connect, вам, вероятно, придется сделать это на стороне клиента.если я правильно понимаю, facebooker2 не предоставляет API на стороне сервера.

, поэтому загрузите JavaScript SDK (должен быть загружен, если вы успешно подключились) и продолжайте публиковать статусы с помощью встроенного пользовательского интерфейса Facebook:

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

, если вы не хотите публиковать обновление статуса в фиде напрямую без необычного пользовательского интерфейса, используйте 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 зависит от него), пример действия контроллера:

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

@ см. пример на facebooker2 на https://github.com/mmangino/facebooker2_fb_connect_example

...