###実現したい事
twitterにrubyを使い投稿したい。
###エラー内容
エラー文
/var/lib/gems/2.1.0/gems/twitter-5.16.0/lib/twitter/rest/response/raise_error.rb:13:in `on_complete': Unable to verify your credentials (Twitter::Error::Forbidden)
上記エラー文が表示されております。
###問題箇所
現在ラズベリーパイにてmotion(カメラ画像に動きがあった時に写真と動画を撮影)を利用してtwitterへの投稿を考えています。
motionの設定に写真を保存したときにプログラムを実行出来る仕組みがあるのですが、その仕組を利用した時にエラー文が表示されます。
/etc/motion/motion.conf ここでmotionの設定を行います。
motion.conf
1# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) 2# To give the filename as an argument to a command append it with %f 3#; on_picture_save value 4on_picture_save /usr/bin/ruby /home/pi/ruby/twitter_test.rb
↑/home/pi/ruby/twitter_test.rbにrubyで書いたtwitterプログラムが御座います。 これを写真を保存した時にrubyで実行するといった感じです。
###投稿用のプログラムなど
投稿用のプログラム
twitter_test.rb
ruby
1require 'dotenv' 2Dotenv.load 3require 'twitter' 4 5client = Twitter::REST::Client.new do |config| 6 config.consumer_key = ENV['CONSUMER_KEY'] 7 config.consumer_secret = ENV['CONSUMER_SECRET'] 8 config.access_token = ENV['ACCESS_TOKEN'] 9 config.access_token_secret = ENV['ACCESS_TOKEN_SECRET'] 10end 11 12 13client.update("テストです。")
こちらをターミナルのコマンドで実行すると正常に動きます。
$ ruby twitter_test.rb
実行権限の問題なのかなと考え
chmod a+x twitter_test.rb
してみましたが変わらずでして。。。
この辺りを確認するなど良いなど御座いましたらご教授頂けると幸いです。
宜しくお願いします。
rubyはruby 2.1.5を利用しております。