Wakotech Blog

ポエム

Rubyでtwitter gemを使ってTwitterに接続してツイートした

RubyTwitterを使ったリマインダーbotを作りたいとずっと思っていたのでようやく着手しようととりあえずTwitterに接続してみました。

require 'twitter'
@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 'Hello Wakotsu Bot.'

twitter gemを使うのでrequireします。が、まずそのまえにgemをインストールしていない場合はしましょう。

$ gem install twitter

次にTwitter Developersからbot用にアプリケーション作成を行います。右上のメニューからMy ApplicationsからCreate New Appで作成します。必須項目を入力すると作成されますので、色々見てみましょう。
botではツイートをするため、権限を設定します。Permissions->Accessで、Read onlyから他のものに変更しましょう。ここではDMを使用することを考えRead, Write and Access direct messagesにチェックを入れました。
コード中にあるCONSUMER_KEY等はAPI_KeysもしくはTest OAuthから確認できます。API key/secretがCONSUMER_KEY/CONSUMER_SECRETに該当します。わかりにくいですね……。
なおPermissionを変更したらキー等も再生成しなければならないそうです。

というかんじで@clientを宣言し、updateメソッドを使用してツイートしてみました。おそらくこの通りにやればできると思います。

結構古い情報が多くて公式の英語ドキュメントを読まないといけなさそうなので結構骨が折れそうです。とくにRESTの部分など以前とは違う仕様なようなので。
毎回開発を進めるたびにメモとして書いていきます。