読者です 読者をやめる 読者になる 読者になる

パンプキンスパイスラテ

IT系のことが多めの日記帳です

はてなブックマーク Web Hook でtwitterに投稿するRubyスクリプトを作ってみた

Ruby標準ライブラリだけでできるよ!
改変などご自由にどうぞ!

#!/usr/local/bin/ruby
require 'cgi'
require 'net/http'

#
# 情報取得
#
cgi = CGI.new
key        = cgi.params['key']         # 認証キー
status     = cgi.params['status']      # ステータス
is_private = cgi.params['is_private']  # 非公開フラグ
title      = cgi.params['title']       # ページタイトル
url        = cgi.params['url']         # ページURL
comment    = cgi.params['comment']     # ブクマコメント
count      = cgi.params['count']       # ブクマ数

#
# 条件
#
exit unless key.to_s == 'API_PASSWORD'  # キー確認
exit unless status.to_s == 'add'        # 追加時のみ
exit unless is_private.to_s == '0'      # 公開のみ

#
# 投稿内容
#
word = "【はてブ】#{title} #{url} #{comment} (#{count}users)"

#
# twitterへ投稿
#
req = Net::HTTP::Post.new('/statuses/update.xml')
req.basic_auth("TWITTER_USER", "TWITTER_PASSWORD")
req.body = "status=#{word}"
Net::HTTP.start('twitter.com') do |http|
  res = http.request(req)
  print "Content-type: text/html\n\n"
  puts "ok"
end

(参考)
はてブの Web Hook で Twitter を更新する - IT戦記
はてなブックマーク Web Hookとは - はてなキーワード