CotEditorからmixiに投稿するRubyスクリプト
CotEditorからmixiに投稿できると便利なんだけど・・・ということで、Rubyスクリプトを作成してみました。
まずwsseライブラリをgemでインストールします。
$ sudo gem install wsse
以下のスクリプトをCotEditorのスクリプトフォルダに保存して、実行権限をつけます。username, password, member_idは適宜書き換えます。
下記スクリプトには間違い(というか詳しくはコメントを参照ください)があって、17行目の「content = < <EOS」の「<<」の間に半角スペースが入ってしまってます。「< <」を「<<」に修正してお使いください。
#!/usr/bin/env ruby
#
# xx)pre.rb
#
# %%%{CotEditorXInput=AllText}%%%
require 'rubygems'
require 'wsse'
require 'net/http'
username = 'username@example.com'
password = 'password'
member_id = 0000000
title = STDIN.gets.chomp
summary = STDIN.read
content = < <eos
#{summary}
EOS
header = {'X-WSSE' => WSSE::header(username, password),
'Content-Type' => 'application/atom+xml'}
Net::HTTP.start('mixi.jp', 80) {|http|
response = http.request_post("/atom/diary/member_id=#{member_id}", content, header)
}
使い方
テキストの1行目にタイトルを、2行目以降に本文を記述します。それからスクリプトメニューからこのスクリプトを実行すると、mixiに投稿ができます。
Related posts:
Scriptを利用させてもらってます。開発をありがとうございます。
実行をすると
17: syntax error, unexpected ‘<’ content = < <EOS
とエラーが出るのでアングルブラケットの間にあるスペースをのぞくと実行完了できました。
content = <<EOS
なにかのタイミングで入ってしまったのかも。
うぁ、ホントですね。
ご指摘ありがとうございます。
で、修正してみたんですが
どうしても半角スペースが入ってしまうみたいです。
注で書いておきます。