簡體   English   中英

Twitter和最近的推文Ruby on Rails

[英]Twitter and Recent Tweets Ruby on Rails

對Twitter寶石感到沮喪。

在我的gemfile中,我放置了

gem 'twitter'

我創建了一個初始化程序twitter_credentials.rb文件,在其中放置了以下代碼:

client = Twitter::REST::Client.new do |config|
  config.consumer_key = 'foo'
  config.consumer_secret = 'bar'
  config.access_token = 'foo'
  config.access_token_secret = 'bar'
end

現在,我正在嘗試從這些憑據所屬的帳戶訪問這些推文。 我想在應用程序控制器中執行以下操作:

@tweets = client.tweets

但上述客戶端會導致名稱錯誤。 如何訪問用戶的推文? 它曾經是

@tweets = Twitter.user_timeline('user_name')

但我想它已被刪除。 請不要告訴我看sferiks文檔,因為我已經看過了,對我來說這是沒有意義的,因為作為客戶端。(任何東西)都會導致NameError

我必須怎么做才能獲得推文列表? 謝謝。

幾個月前我也遇到過類似的問題。 我相信您有范圍問題。 我將獲取推文的調用放置在創建客戶端的模塊中。

module TwitterApi

  def get_tweets(twittername)
    client = Twitter::REST::Client.new do |config|
      config.consumer_key        = ENV['CONSUMER_KEY']
      config.consumer_secret     = ENV['CONSUMER_SECRET']
      config.access_token        = ENV['ACCESS_TOKEN']
      config.access_token_secret = ENV['ACCESS_TOKEN_SECRET']
    end

    tweets = client.user_timeline(twittername)
  end
end

這樣,您的twitter調用將返回tweet數組,而您不必擔心范圍問題。 在您的控制器中:

class Foo 
  include TwitterApi

  def bar
    @tweets = get_tweets('username')
  end
end

這對我有用。 希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM