Twitterしたら、自動でMixiエコー作ったよ!! 『twitter2mixi.rb』
の記事を参考に(というかほぼそのままだが)、Twitterから、mixiエコーへ送信するようにしてみた。
mixiの微妙な閉鎖感が若干嫌で、ちょっと足が遠のきつつあったが、
辛うじてつなぎ止まったかも。
上記のスクリプトを使用する上で、私の環境だといくつかつまづいたことがあったので、
とりあえず、以下に記しておくことにする…
- 文字コードの問題
- 依存ライブラリの問題
・文字コードの問題
ソースを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 として、インストール。
関連記事:
- 圧縮せずにファイルサイズを小さくしてコピーする方法 GNUのcpコマンドには、sparseオプションがありこれを使うと、 ファイルとしてはそのままに、実際にディスクを使用する量を削減することができる可能性があります。 使い方は、以下のような感じです。 $ dd if= [...]...
- Fedoraにuuencode, uudecodeをインストールしたいとき Fedoraにuuencode, uudecodeをインストールしたいときは、 # yum install sharutils と、実行する。 # yum...
- SQLiteでprepared statementとBLOBを使って構造体を保存(C言語)その1 #sqlite SQLiteのC言語APIを使ってprepared statementで、BLOBを使ってみます。 基本的には、以下のサイトに書いてある方法ですが、日本語で書いてみることにします。 http://www.sqlite. [...]...

twitter2mixiの実装ありがとうございます!!
無事に動きましたでしょうか?^^
WEBサービス化したいというコメントももらっているのですが、
まだ作れていません。。。
何かありましたらご連絡ください。
梨木
Posted on 2009/07/26 11:06.
コメントありがとうございます!
何の問題かよくわかっていないのですが、
twitter2mixi.rbをcronで3分間隔で動作させたところ、
同じtwitterつぶやきが、複数回mixiエコーされることがありました。
「#つぶやき更新状況確認」
での判定で何か問題が発生しているのでは?と
思っているのですが、追いかけきれていません。。
Posted on 2009/07/27 20:34.
masayunさん
Cronの設定を20分に1回とかに変えてもだめですかね?
Mixiへの負荷を考えるとちょっと間隔をあけて設定をしたほうがいいです。
今のスクリプトだと呟きを1つしか移さないのだけど。。。
本当は、任意の時間内で、複数の呟きにも対応したほうがいいと思いますが、私自身そんなにつぶやかないので1つのコピー機能のみになっています。。
Posted on 2009/07/28 06:53.
コメントありがとうございます!
なるほど、今はcronで3分間隔で実行しているのが問題かもしれません。
最近Twitter始めたばかりで、つぶやき頻度が高いので、どうにかならないか、考えてみたいと思います。
Posted on 2009/07/28 12:48.