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に投稿することができるようになりました。

次回は自動実行について書きたいと思います。