1
每次用戶發表評論時,我都希望它自動發送相同的評論給我的Twitter。如何將推文發送到我的Twitter帳戶?
首先,我已經完成了Twitter開發者設置。
所以我在我的應用程序中做了一個測試動作,讓它向我的Twitter帳戶發送一條推文。 但是,它說這個錯誤
NoMethodError (undefined method `[]' for nil:NilClass):
app/controllers/top_controller.rb:173:in `test_action'
我該如何解決這個問題?這是我的代碼
相關的寶石那些已經捆綁(我在軌道上3.2.11)
gem 'omniauth-twitter'
gem 'twitter'
gem 'figaro'
配置/初始化/ omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']
Twitter.configure do |config|
config.consumer_key = ENV["TWITTER_KEY"]
config.consumer_secret = ENV["TWITTER_SECRET"]
end
end
config/application.yml
TWITTER_KEY: 6TeBX6HkeHzMXesgc
TWITTER_SECRET: JyfOndg8xHcM81KEpgmBT7h2vFJJujMP14YTdt6ruvLbsQk
test_action
def test_action
@twitter = Twitter::Client.new(oauth_token: request.env["omniauth.auth"][:credentials][:token], oauth_token_secret: request.env["omniauth.auth"][:credentials][:secret])
@twitter.update("Your message")
flash[:notice] = "Successfully tweeted on your account."
redirect_to root_path
return
end