AtomPubを使ったRubyによるHatena::Diaryへの投稿(指定ファイルの内容)
参考:
[m2w]AtomPub によるブログ記事の取得はブログの種類に依存する。 - 自分の歩いた道に落ちてるコード http://www.ownway.info/Blog/2012/02/mail2weblog-8.html
エントリの本文を引数のファイル名の内容から、タイトル名はSTDIN.getsで、コマンドラインから入力を促すようにしました。
#!/usr/bin/ruby # coding: UTF-8 require 'atomutil' USERNAME = 'hirono2011' PASSWORD = 'パスワード' ENTRY_COLLECTION_URI = 'http://d.hatena.ne.jp/hirono2011/atom/blog' auth = Atompub::Auth::Wsse.new(:username => USERNAME, :password => PASSWORD) client = Atompub::Client.new(:auth => auth) # ブログ記事を投稿する unless ARGV[0].nil? then f = open(ARGV[0]) text = f.read f.close file_name = ARGV[0] print("#{file_name}を本文に投稿します。タイトル名を入力してください。\n") title = STDIN.gets.chomp else print("ファイル名を指定してください!! \n") exit(1) end #text = <<END #あああ #テスト中 23 #END new_entry = Atom::Entry.new( :title => title.encode('BINARY', 'BINARY'), :content => text.encode('BINARY', 'BINARY')) p client.create_entry(ENTRY_COLLECTION_URI, new_entry).sub("atom/blog/","")