我在使用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