DDRで消費したカロリーを自動でツイートする (その4)
アプリケーションを登録する
今回は、開発用に別アカウントをとってみました。お手軽に目的を達成したい場合、メインアカウントで登録したほうがOAuth認証の手間がないため簡単です。
下記の記事を参考に、アプリケーションを登録しました。ここで、アプリケーションのConsumer keyとConsumer secret、またアプリを登録したアカウント用のAccess tokenとAccess token secretが取得できます。
開発用アカウントにつぶやく
今回はTwitter Gemを使ってみます。
gem install twitter
clientをnewしてコンフィグした後、updateメソッドをを呼び出すことでつぶやけるようです。ドキュメントの例となんら変わらないのですが、下記のコードでつぶやくことができました。
#! /usr/bin/ruby -Ku require "twitter" CONSUMER_KEY = "" # アプリケーションのものに置き換える CONSUMER_SECRET = "" # アプリケーションのものに置き換える ACCESS_TOKEN = "" # つぶやき先アカウントのものに置き換える ACCESS_SECRET = "" # つぶやき先アカウントのものに置き換える client = Twitter::REST::Client.new do |config| config.consumer_key = CONSUMER_KEY config.consumer_secret = CONSUMER_SECRET config.access_token = ACCESS_TOKEN config.access_token_secret = ACCESS_SECRET end client.update("投稿テスト")
自分のアカウントにつぶやく
開発者以外のアカウントにつぶやくためには、OAuth認証でつぶやきを許可する必要があります。
本来はアプリ連携用のリンクとコールバックURLを使って認証するようですが、今回は自分しか使わないので下記を参考に、コマンドラインで飛び先のURLを取得してブラウザに貼り付ける方法をとりました。
ここで得られたaccess tokenとaccess secretを使ってアクセスすると、認証したアカウントでつぶやくことができます。当然、流出しないように気をつける必要があります。
これで、実行するとeAMUSEMENTから消費カロリーを取得して、twitterに投稿することができるようになりました。
次回は自動実行について書きたいと思います。