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


  #{title}
  #{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に投稿ができます。

「CotEditorからmixiに投稿するRubyスクリプト」への2件のフィードバック

  1. Scriptを利用させてもらってます。開発をありがとうございます。

    実行をすると
    17: syntax error, unexpected ‘<‘ content = < <EOS
    とエラーが出るのでアングルブラケットの間にあるスペースをのぞくと実行完了できました。

    content = <<EOS

    なにかのタイミングで入ってしまったのかも。

  2. うぁ、ホントですね。
    ご指摘ありがとうございます。

    で、修正してみたんですが
    どうしても半角スペースが入ってしまうみたいです。
    注で書いておきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です