当然rails3にて。
を見ながらtwitter認証をしてた。
無事にOauth認証できたけど、ツイートの投稿のしかたって!?
どうやら、tweetするためには、auth[‘credentials’][‘token’]とauth[‘credentials’][‘secret’] が必要らしいのでcreate_with_omniauthの部分を以下のように変更
def self.create_with_omniauth(auth)
create! do |twitter_user|
twitter_user.provider = auth["provider"]
twitter_user.uid = auth["uid"]
twitter_user.name = auth["user_info"]["name"]
twitter_user.nickname = auth["user_info"]["nickname"]
twitter_user.token = auth['credentials']['token']
twitter_user.secret = auth['credentials']['secret']
end
end
そして、gem ‘twitter’を手に入れて、
tweetしたい場所で以下のコード
Twitter.configure do |config|
config.consumer_key = "自分のconsumer key"
config.consumer_secret = "自分のconsumer secret key"
config.oauth_token = current_user.token
config.oauth_token_secret = current_user.secret
end
twitter_client = Twitter::Client.new
twitter_client.update("ツイート内容")
うーん、先人たちの知恵助かる!
コメント
大変参考になりました。
ただ、私の環境では、マイグレーションファイルにusers.tokenとusers.secretをString形式で追加してやる必要がありました。
私も同じ事をしていたのですが、追加の説明を省いてました・・・。
御指摘ありがとうございます。