現在、アプリから投稿した内容をアプリ上に保存すると同時に同じ内容をTwitterへ投稿させるアプリを作っています。
投稿のデータベースへの保存、Twitterとの連携はうまくいっているのですが、投稿された内容が全て私のTwitteeアカウントからツイートされてしまいます。
ログイン中のユーザーのTwitterアカウントからツイートさせるようにしたいのですが、それはどのようにすれば良いのでしょうか?
以下は現在のコードです。
ruby
1before_action :set_twitter_client, only: [:create] 2 3def create 4 @diary = current_user.tweets.build(params_tweet) 5 image = open("public#{@diary.image.url}") 6 if @diary.image.blank? 7 @diary.save && @twitter.update(@diary.content) 8 else 9 @diary.save && @twitter.update_with_media(@diary.content, image) 10 end 11 redirect_to tweets_path 12 end 13 14 private 15 16 def set_twitter_client 17 @twitter = Twitter::REST::Client.new do |config| 18 config.consumer_key = ENV['TWITTER_API_KEY'] 19 config.consumer_secret = ENV['TWITTER_API_SECRET'] 20 config.access_token= ENV['TWITTER_ACCESS_TOKEN'] 21 config.access_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET'] 22 end 23 end 24 25 def params_tweet 26 params.require(:tweet).permit(:content, :image) 27 end
ユーザー認証にはdeviseとomiauth-twitterのgemを使っており、そちらは問題なく機能しており、Twitterアカウントからログインできています。
問題は、そのアカウントからツイートができず、Twitterデベロッパーに登録されている私のアカウントからツイートされてしまう点です。
調べてみたところ、access_tokenとaccess_token_secretが原因だろうとは思ったのですが、そこをどう修正すればいいのかが分かりませんでした。
良い解決策があればアドバイスをいただければと思います。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/24 14:22
2018/12/25 03:12