TimelogAPI
TimelogAPIを利用する場合の、サンプルコードをアップします。
sample1. パブリックタイムラインを取得する場合
#!/usr/bin/ruby -Ke require 'net/http' require 'uri' require 'kconv' require 'rexml/document' $KCODE = 'EUC' doc = nil count = '20' format = 'xml' uri = URI.parse("http://api.timelog.jp/public_msg.asp?cnt=#{count}&fmt=#{format}") req = Net::HTTP::Get.new(uri.request_uri) req['User-Agent'] = 'Ruby-TestBrowser' Net::HTTP.start(uri.host, uri.port){|http| response = http.request(req) doc = REXML::Document.new(response.body) } doc.elements.each('memos/entry'){|i| print "--- Start Entry ---\n" print "MemoID: #{i.elements['id'].text.toeuc}\n" print "MemoText: #{i.elements['memo'].text.toeuc}\n" print "Tag: #{i.elements['tag'].text.toeuc}\n" unless i.elements['tag'].text.nil? print "ToID: #{i.elements['toid'].text.toeuc}\n" unless i.elements['toid'].text.nil? print "UserID: #{i.elements['author/id'].text.toeuc}\n" print "UserName: #{i.elements['author/name'].text.toeuc}\n" print "--- End Entry ---\n" }
sample2. 自分と友人のタイムラインを取得する場合
#!/usr/bin/ruby -Ke require 'net/http' require 'uri' require 'kconv' require 'rexml/document' $KCODE = 'EUC' doc = nil count = '20' format = 'xml' uri = URI.parse("http://api.timelog.jp/friends_msg.asp?cnt=#{count}&fmt=#{format}") req = Net::HTTP::Get.new(uri.request_uri) req['User-Agent'] = 'Ruby-TestBrowser' req.basic_auth("account@example.com", "password") Net::HTTP.start(uri.host, uri.port){|http| response = http.request(req) doc = REXML::Document.new(response.body) } doc.elements.each('memos/entry'){|i| print "--- Start Entry ---\n" print "MemoID: #{i.elements['id'].text.toeuc}\n" print "MemoText: #{i.elements['memo'].text.toeuc}\n" print "Tag: #{i.elements['tag'].text.toeuc}\n" unless i.elements['tag'].text.nil? print "ToID: #{i.elements['toid'].text.toeuc}\n" unless i.elements['toid'].text.nil? print "UserID: #{i.elements['author/id'].text.toeuc}\n" print "UserName: #{i.elements['author/name'].text.toeuc}\n" print "--- End Entry ---\n" }
Ruby1.8系標準添付のライブラリのみ使用しています。
ご参考になれば幸いです。