twitter botで単語帳を作る(twitter API – Ruby 連携編)

前回のエントリーで、サーバ環境をGCPで構築しました。下記図の①と②を実現する基盤です。

 

 

今回は、③「ツイートさせる」ために必要となる、下記の手続きを行います。

  • 新規 twitter アカウント取得
  • 新規 twitter development アカウント取得 -> アプリケーション登録
  • twitter gem のインストールと、基本操作

 
 

新規 twitter アカウント取得

まず最初に、twitter新規アカウントを取得します。他のtwitterアカウントでログインしている場合は、ログアウトしてから ツイッターのWebサイトで「アカウント作成」してください。ここで作成したアカウントは、単語帳 bot のtwitterアカウントとなります。

 

 

新規 twitter development アカウント取得 -> アプリケーション登録

先に示した図の③「ツイートさせる」ためには、twitterのAPIキーやアクセストークンを取得する必要があります。 Twitter Developer の Webサイトで、デベロッパーアカウントを作成します。デベロッパーアカウントと紐づけたいtwitterアカウント(今回作成したtwitterアカウント)でログインした状態で、下記画面にて「Continue」をクリックします。その後、送信される確認メールで「Confirm your email」をクリックすると登録が完了します。

 

 

登録後、画面右上の「Apps」を選択すると、アプリ作成画面となります。ここで「Create an app」をクリックします。

 

 

 

アプリ作成のために、ツイッター社にいくつか情報提供する必要があります。アプリ名、アプリの説明、ウェブサイトのURL等を記入します。

 

 

記入した内容で、アプリが作成されました。

 

 

「keys and tokens」タブをクリックすると、アプリ用の Consumer API keys や Access token、access token secrete 等が作成されます。「Regenerate」ボタンをクリックすると、値が再作成されます。

 

 

以上で、今回のbotを作成するための、twitter API関連情報がすべて揃いました。

 

twitter gem のインストールと、基本操作

それでは実際に、twitter APIを操作してみます。今回のbotアプリは、最終的に Ruby On Rails アプリケーションとなりますが、まずは デスクトップ環境で、API操作を確認します。Rubyからtwitter API を操作するための、twitter gem をインストールします。

$gem install twitter

 

続いて、テキストエディタで下記スクリプトを作成し、「test.rb」として保存します。

 

require 'twitter'

twClient = Twitter::REST::Client.new do |config|
    config.consumer_key    = "#{twitter developer Webサイトで取得した値を入力}"
    config.consumer_secret = "#{twitter developer Webサイトで取得した値を入力}"
    config.access_token    = "#{twitter developer Webサイトで取得した値を入力}"
    config.access_token_secret = "#{twitter developer Webサイトで取得した値を入力}"
end

twClient.update("SV = EV - PV

SV( Schedule Variance, スケジュール差異)は EV(Earned Value, 現在価値)から
PV(Planned Value, 計画価値)を引く

=> SV = 0 →計画通り
=> SV > 0 →計画より進んでいる
=> SV < 0 →計画より遅れている")

 

ターミナルより下記実行します。

$ruby test.rb

 

ブラウザで、twitterを見ると、無事ツイートされています。

 

ということで今回は、twitter API 関連の準備を行いました。次回は、Ruby On Rails で学習内容の入力、及びtweetを定期的に実行する仕組みを実装します。

 

1 のコメント

  1. ピンバック: twitter botで単語帳を作る(GCP環境構築編) - All for CONTENT

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です