Постинг в популярные соц сети с помощью джема social_poster

в 10:28, , рубрики: Facebook, livejournal, ruby, ruby on rails, social networks, twitter

SocialPoster — это джем, который позволяет с легкостью постить в популярные социальные сети из вашего руби приложения. В данный момент есть поддержка таких сетей:

  • Facebook
  • Twitter
  • Livejournal
  • Vkontakte


Джем можно установить командой gem install social_poster или сделать это с помощью Bundler.

Настройка

Данный джем может работать как с Rails, так и без него. Здесь я приведу пример, как настроить и использовать social_poster в Ruby on Rails приложении. Для начала, вам понадобится создать конфиг файл config/initializers/social_poster.rb с таким содержимым:

SocialPoster.setup do |config|
  config.fb = {
    access_token: 'ACCESS_TOKEN'
  }

  config.vk = {
    access_token: 'ACCESS_TOKEN'
  }

  config.twitter = {
    consumer_key:       'CONSUMER_KEY',
    consumer_secret:    'CONSUMER_SECRET',
    oauth_token:        'OAUTH_TOKEN',
    oauth_token_secret: 'OAUTH_TOKEN_SECRET'
  }

  config.lj = {
    user:     'USER',
    password: 'PASSWORD'
  }
end

Вам необходимо заполнить значения для ключей, логинов и паролей (в зависимости от требований данных сайтов).

Использование

Теперь в модели либо в контроллере, вы сможете постить в различные социальные сети, просто указывая ее имя и текст, который нужно разместить:

SocialPoster.write(:fb, 'Something that will appear on your Facebook Wall...')
SocialPoster.write(:vk, 'Something that will appear on your Vkontakte Wall...')
SocialPoster.write(:twitter, 'Tweet tweet tweet')
SocialPoster.write(:lj, 'A long text of the post...', 'A short title of it')

Для API Вконтакте, есть возможность задавать дополнительные опции. Вот, например, как можно делать пост в группу:

SocialPoster.write(:vk, 'Text on the Group Wall...', nil, owner_id: '-GROUP_ID')

Вы можете также задавать дополнительные параметры при постинге в Facebook. Вот пример для размещения фоток и ссылок на стене:

SocialPoster.write(:fb, 'Text on the Wall...', nil, link: 'http://google.com', picture: 'https://www.google.com/images/srpr/logo11w.png')

Автор: heel

Источник

Поделиться

* - обязательные к заполнению поля