Click here to Skip to main content
11,410,536 members (56,876 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Ruby
How to include api in ruby on rails? for example twitter api
Posted 23-Dec-12 5:47am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

1)create an api using rails new appname
2)then create twitter app https://dev.twitter.com/apps[^]
3)add Inside your gemfile add the Twitter gem:
gem 'twitter'
4)rails g model tweet tweet_content:string
5) rails g controller tweet
 
in controller
 require "rubygems"
require "twitter"
 
class TweetController < ApplicationController
 def user_page
 @tweet = Tweet.new
 end
 
 def user_tweet
 @tweet = Tweet.new(params[:tweet])
 
 if @tweet.save then
 # Certain methods require authentication. To get your Twitter OAuth credentials,
 # register an app at http://dev.twitter.com/apps
 Twitter.configure do |config|
 config.consumer_key = 'key'
 config.consumer_secret = 'skey'
 config.oauth_token = 'token'
 config.oauth_token_secret = 'stoken'
 
 end
 
 # Initialize your Twitter client
 client = Twitter::Client.new
 
 # Post a status update
 client.update(@tweet.tweet_content)
 end
 render action: 'user_page', :notice => 'Twitter successfully posted'
 
 end
 
end
in model
class Tweet < ActiveRecord::Base
 # attr_accessible :title, :body
 attr_accessible :tweet_content
end
in user_page.html.erb
<%= form_for(@tweet, :url => '/user_tweet') do |tweet_form| %>
 <%= tweet_form.text_area :tweet_content %>
 <%= tweet_form.submit "Tweet" %>
<% end %>
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 8,755
1 OriginalGriff 6,915
2 Maciej Los 3,390
3 Abhinav S 3,248
4 Peter Leow 3,059


Advertise | Privacy | Mobile
Web03 | 2.8.150414.5 | Last Updated 23 Dec 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100