为什么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)
- 如何使用Rails和minitest模拟OmniAuth哈希?
- Rails 3使用omniauth获取gmail联系人?
- OmniAuth Strategies Facebook NoAuthorizationCodeError(必须传递`code`参数或签名请求(通过`signed_request`参数):
- 为OAuth创建签名和Nonce(Ruby)
- Rails:在Omniauth使用Devise登录后从Facebook检索图像
- 如何在Ruby on Rails应用程序中拯救OAuth :: Unauthorizedexception?
- 显示来自Rails应用程序的Twitter订阅源
- 访问Google Plus联系人google-api-ruby-client和omniauth-google-oauth2
- Unicorn和omniauth-facebook – 未初始化的恒定OmniAuth