Twitterしたら、自動でMixiエコー作ったよ!! 『twitter2mixi.rb』
の記事を参考に(というかほぼそのままだが)、Twitterから、mixiエコーへ送信するようにしてみた。

mixiの微妙な閉鎖感が若干嫌で、ちょっと足が遠のきつつあったが、
辛うじてつなぎ止まったかも。

上記のスクリプトを使用する上で、私の環境だといくつかつまづいたことがあったので、
とりあえず、以下に記しておくことにする…

  1. 文字コードの問題
  2. 依存ライブラリの問題

・文字コードの問題
ソースをUTF-8-unixで書いたのだが、実行すると、

hoge@unicorn:~/bin$ ./twitter2mixi.rb
./twitter2mixi.rb:45: syntax error, unexpected tIDENTIFIER, expecting kEND
  puts "login to mixi by #{config['mixiusername']}"
             ^

と、よく分からないエラーとなる。
これは、実行時のrubyのKCODEとソースの文字コードが異なると発生する(?)様で、
twitter2mixi.rbソースの先頭の記述を以下の様に変更して対応。

#!/usr/bin/ruby -Ku

また、最終行近くの

  form.fields.find { |f| f.name == 'body' }.value = twitterlaststatus.toeuc

もうまく動作しなかったので、

  form.fields.find { |f| f.name == 'body' }.value = twitterlaststatus.toutf8

に、変更。

・依存ライブラリの問題

Building native extensions. This could take a while…
ERROR: Error installing mechanize:
ERROR: Failed to build gem native extension.
(snip)
checking for libxslt/xslt.h in /opt/local/include/,/opt/local/include/libxml2,/opt/local/include,/opt/local/include,/opt/local/include/libxml2,/usr/local/include,/usr/local/include/libxml2,/usr/include,/usr/include/libxml2,/usr/include,/usr/include/libxml2… no
libxslt is missing. try ‘port install libxslt’ or ‘yum install libxslt-devel’
(snip)

というエラーが出たが、ubuntuにはそんなパッケージは無い。
で、

hoge@unicorn:~/bin$ sudo apt-cache pkgnames libxslt
libxslt-dev
libxslt1-dbg
libxslt1-dev
libxslt-ruby
libxslt1.1
libxslt1
libxsltc-java
libxslt-ruby1.8
libxslt0-dev
libxsltc-java-gcj
と、出たので、
hoge@unicorn:~/bin$ sudo apt-get install libxslt-dev libxslt-ruby1.8
として、インストール。

関連記事:

  1. 圧縮せずにファイルサイズを小さくしてコピーする方法 GNUのcpコマンドには、sparseオプションがありこれを使うと、 ファイルとしてはそのままに、実際にディスクを使用する量を削減することができる可能性があります。 使い方は、以下のような感じです。 $ dd if= [...]...
  2. Fedoraにuuencode, uudecodeをインストールしたいとき Fedoraにuuencode, uudecodeをインストールしたいときは、 # yum install sharutils と、実行する。 # yum...
  3. SQLiteでprepared statementとBLOBを使って構造体を保存(C言語)その1 #sqlite SQLiteのC言語APIを使ってprepared statementで、BLOBを使ってみます。 基本的には、以下のサイトに書いてある方法ですが、日本語で書いてみることにします。 http://www.sqlite. [...]...

4 Comments on “twitterからmixiエコーへ送信”

You can track this conversation through its atom feed.

  1. 梨木 より:

    twitter2mixiの実装ありがとうございます!!
    無事に動きましたでしょうか?^^

    WEBサービス化したいというコメントももらっているのですが、
    まだ作れていません。。。

    何かありましたらご連絡ください。

    梨木

  2. masayun より:

    コメントありがとうございます!
    何の問題かよくわかっていないのですが、
    twitter2mixi.rbをcronで3分間隔で動作させたところ、
    同じtwitterつぶやきが、複数回mixiエコーされることがありました。
    「#つぶやき更新状況確認」
    での判定で何か問題が発生しているのでは?と
    思っているのですが、追いかけきれていません。。

  3. 梨木 より:

    masayunさん

    Cronの設定を20分に1回とかに変えてもだめですかね?
    Mixiへの負荷を考えるとちょっと間隔をあけて設定をしたほうがいいです。

    今のスクリプトだと呟きを1つしか移さないのだけど。。。
    本当は、任意の時間内で、複数の呟きにも対応したほうがいいと思いますが、私自身そんなにつぶやかないので1つのコピー機能のみになっています。。

  4. masayun より:

    コメントありがとうございます!
    なるほど、今はcronで3分間隔で実行しているのが問題かもしれません。
    最近Twitter始めたばかりで、つぶやき頻度が高いので、どうにかならないか、考えてみたいと思います。

コメントをどうぞ

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WP Hashcash