mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Ruby - Twitter API で画像添付ツイート!

[ プログラミング ] [ Ruby, Twitter ]

こんばんは。

Ruby で Twitter API を使用して、画像を添付したツイートを行う方法についてです。

普段使用している Ruby スクリプトから抜粋した形です。

0. 前提条件

  • Ruby 2.0.0-p0 で作成・動作確認。
  • RubyGems twitter, oauth を導入済み。
  • OAuth 認証のための Customer Key, Customer Secret, Access Token, Access Token Secret を取得済み。

OAuth 認証については、今回は説明しません。当ブログ過去記事やネット等でお調べください。

1. Ruby スクリプト作成

作成した Ruby スクリプトは以下の通り。
OAuth 認証の設定をして画像ファイルを指定してツイートするだけ。
当然、ツイート文+画像ファイルのURLを合わせた文字数が140字を超えると例外が発生する。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
require 'twitter'
require 'oauth'

# Consumer key, Secretの設定
CONSUMER_KEY     = "XXXXXXXXXXXXXXXXXXXX"
CONSUMER_SECRET  = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Access Token Key, Secretの設定
ACCESS_TOKEN_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
ACCESS_SECRET    = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

begin
  # Twitter.configure 設定
  Twitter.configure do |config|
    config.consumer_key       = CONSUMER_KEY
    config.consumer_secret    = CONSUMER_SECRET
    config.oauth_token        = ACCESS_TOKEN_KEY
    config.oauth_token_secret = ACCESS_SECRET
  end

  # Twitter クラスインスタンス化
  client = Twitter::Client.new

  # ツイート文設定
  str_out = "<ここにツイートする文章を設定>"

  # ツイート
  #client.update(str_out)                                   # <= 画像添付が無い場合
  client.update_with_media(str_out, "/path/to/image_file")  # <= 画像添付が有る場合
rescue => e
  STDERR.puts "[EXCEPTION] " + e.to_s
  exit 1
end

2. 参考サイト


このスクリプトを定時起動するなりすれば、自動ツイート Bot になります。
ちなみに、当方は CentOS サーバで cron 起動しています。(画像添付はしていませんが)

以上。

Comments