0

過去 3 日間、この問題を解決しようとしてきましたが、役に立ちませんでした。私が探しているのは、Twitter を使用してログインしたユーザーが自分のアカウントにツイートできるようにすることだけです。

解決しようとしているエラーメッセージは次のとおりです。

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

私はあらゆる種類のことを試しましたが、同じメッセージに完全に 360 円を返しました。

これが私が今いるところです:

class ApplicationController < ActionController::Base

   def twitter
    unless @twitter_user
      provider = Authentication.find_by_provider('twitter')
      @twitter_user = Twitter::Client.new(:token => 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

私は何を間違っていますか?

4

1 に答える 1