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