Display a Twitter feed from a Rails app

后端 未结 2 522
滥情空心
滥情空心 2021-02-04 19:29

I have been able to have a user sign in with Twitter via OmniAuth (I followed Railscast #235-6 and made a simple application). Now I am trying to display the Twitter feed of the

2条回答
  •  梦谈多话
    2021-02-04 20:04

    class Tweet

        BASE_URL = "http://api.twitter.com/1.1/statuses/user_timeline.json"
        SCREEN_NAME = "OMGFacts"
        MAX_TWEETS = 10000
    
        CONSUMER_KEY = "PMiAyrY5cASMnmbd1tg"
        CONSUMER_SECRET = "0TYRYg0hrWBsr1YZrEJvS5txfA9O9aWhkEqcRaVtoA"
    
        class << self
          def base_url
            BASE_URL
          end
    
          def screen_name
            SCREEN_NAME
          end
    
          def url(count = MAX_TWEETS)
            params = {:screen_name => screen_name, :count => count}
            [base_url, params.to_param].join('?')
          end
    
          def prepare_access_token(oauth_token, oauth_token_secret)
            consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET,
              { :site => "http://api.twitter.com",
                :scheme => :header,
              })
            # now create the access token object from passed values
            token_hash = { :oauth_token => oauth_token,
                           :oauth_token_secret => oauth_token_secret,
                           :open_timeout => 500000000
                         }
            access_token = OAuth::AccessToken.from_hash(consumer, token_hash )
            return access_token
          end
    
          def get(count = MAX_TWEETS)
            count = Preference.get(:2000).to_i
            access_token = prepare_access_token("178394859-cJlRaiQvqVusPAPjqC2Nn7r3Uc7wWsGua7sGHzs","3T8LCZTYXzuPLGzmWX1yRnKs1JFpfJLKemoo59Piyl8")
            response = JSON.parse access_token.request(:get, url).body
    
            response[0...count]
          end
    
        end
    
      end
    

提交回复
热议问题