我在使用omniauth &嘰嘰喳喳的寶石產生鳴叫麻煩。Rails的Twitter的寶石Omniauth
我一直在使用本教程http://blog.assimov.net/post/2358661274/twitter-integration-with-omniauth-and-devise-on-rails-3
,我可以登錄使用Twitter,產生的認證,但我不能更新微博。
current_user.twitter.update("My Rails 3 App with Omniauth, Devise and Twitter")
該行抱怨方法更新。
什麼混淆了我關於上面的教程,在一開始他們產生遷移到存儲認證的祕密,但在本教程後面沒有一點改變任何代碼編寫的祕密數據庫的任何提及。
我的理解是,這個祕密是從存儲在會話cookie的omniauth哈希獲得。我在這裏錯過了什麼?
def hash_from_omniauth(omniauth)
{
:provider => omniauth['provider'],
:uid => omniauth['uid'],
:token => (omniauth['credentials']['token'] rescue nil),
:secret => (omniauth['credentials']['secret'] rescue nil)
}
end
因此,一切似乎都與創建Twitter客戶端不同,因此沒有更新方法可用?
current_user.twitter.update("first tweet")
Twitter的方法,在這裏應該創建Twitter客戶端
def twitter
debugger
unless @twitter_user
provider = self.authentications.find_by_provider('twitter')
@twitter_user = Twitter::Client.new(:oauth_token => provider.token, :oauth_token_secret => provider.secret)rescue nil
end
@twitter_user
末
對不起,我不是在解釋這個問題很大。任何幫助不勝感激。 謝謝 L
您是否將twitter gem用於其他任何內容? – mnelson