为什么twitter oauth访问令牌无效/过期(rails 3)

过去三天我一直试图解决这个问题,但无济于事。 我所要做的就是允许使用Twitter登录的用户向他们的帐户发推文。

这是我要解决的错误消息:

Twitter::Error::Unauthorized in PostsController#create Invalid or expired token 

我尝试了各种不同的东西,但我回到了完整的360圈到同一条消息。

这就是我现在所处的位置:

 class ApplicationController  provider.token, :secret => provider.secret) rescue nil end @twitter_user end 

这是抛出错误的地方

 class PostsController < ApplicationController def create twitter.update(@post.content) end 

这是模式的布局方式

 create_table "authentications", :force => true do |t| t.integer "user_id" t.string "provider" t.string "uid" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false t.string "secret" t.string "token" end create_table "users", :force => true do |t| t.string "name" t.string "email" t.timestamp "created_at", :null => false t.timestamp "updated_at", :null => false t.string "password_digest" t.string "remember_token" 

这是我的初始化程序

 Rails.application.config.middleware.use OmniAuth::Builder do configure do |config| config.path_prefix = '/auth' end provider :twitter, "XXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" end Twitter.configure do |config| config.consumer_key = "XXXXXXXXXXXXXXXXXXXXXX" config.consumer_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" config.oauth_token = :token config.oauth_token_secret = :secret end 

我究竟做错了什么?

尝试改变这个:

 Twitter::Client.new(:token => provider.token, :secret => provider.secret) 

进入这个

 Twitter::Client.new(:oauth_token => provider.token, :oauth_token_secret => provider.secret)