さきほど、ついに実験が成功した。
次のルートで、データを相互に自動転送するしくみのことだ。
この仕組みを使うと、次のようなメリットがある。
これで、twitterで自分をフォローしてくれている人には新規のブログ記事をお知らせでき、またブログ上では自分の呟きを公開できる。
この仕組みは、twtr2srcとRSS2twitterという2つの無料サービスを併用して実現している。
上記のルートで、ブログとtwitterのデータを相互にやりとりする。
そこまでは比較的簡単なのだが、問題は、このようになってしまうこと。
これでは、同じデータが巡り巡って元へ戻ってきてしまう。
(1)については、次の方法で解決できる。
RSS2twitterのフィルタ設定で、ある文字列が含まれるデータを転送する、または転送しないという設定をする。
これによって、上記の堂々巡りの問題は回避できる。
(2)については、twtr2srcの方ではフィルタをかけられないために回避できない。
twitter→ブログと転送する際に、ブログ→twitterと転送されてきたデータも渡ってしまう。
でも自動投稿されたブログ記事の一部なので、大目に見てくださいということで。^^;
詳細の手順を以下に示す。
ブログサービスの方で、RSS対応していることと、メール送信によるブログ記事の書き込みが可能であることが必須条件となる。
ちなみに、twtr2srcでは「Hatena」のフォーマットを設定できるが、それ以外のブログで同様のことができるかどうかはわからない。
この点がクリアされれば、はてなダイアリー以外のブログサービスでも使えるかもしれない。
また、RSS2twitterもtwtr2srcも英語のサイトであるため、多少の英語読解力は必要となる。
ここ以降は実際の手順を示しているだけなので、使ってみようと思わない人にとっては無用の情報でしょう。
RSS2twitterの使用方法
RSS2twitterは、OAuthというプロトコルを使って異なるサービス間で認証してサービスを利用する仕組みだ。
…ということの意味がわからなくても、なんとか利用することはできる。
RSSフィードならばどんなデータでもtwitterへ転送できるので、ブログ以外にもいろんな利用方法があるだろう。
初回の設定方法は以下の通り。
- RSS2twitterのサイトへアクセスする。http://rss2twitter.com/
- 自分のメールアドレスとパスワードを入力してサインアップする。(パスワードは忘れないように控える)
- RSS2twitterの画面上で、右上メニューから「My Twitter Acounts」をクリック。
- 右上の青い「Add acount」をクリック。
- 「Click here to go to twitter to authorize your account.」をクリック。
- 「Allow RSS2Twitter access?」と聞かれたら、「許可する」をクリック。twitterで認証される。
- RSS2twitterの画面上で、右上メニューから「My Feeds」をクリック。
- 右上の青い「Add feed」をクリック。
次に、「Add feed」画面で次のように設定する。
- RSS Feed URL:はてなダイアリーのRSSフィードのURLを入力。(例:http://d.hatena.ne.jp/nmomose/RSS)
- 「Include」欄で、「Title & Description」「Title」「Description」のいずれかを選択。ブログのタイトル+記事内容の両方を転送するならば「Title & Description」を選ぶ。
- 「Account(s) to update」で、設定するtwitterのアカウントを選択する。
- 「Allow RSS2Twitter access?」と聞いてきたら、「許可する」をクリック。
以下はフィルタの設定欄だが、必要な部分だけ設定する。
- 「Prefix updates with (optional)」:twitterへ転送する際のタイトルの先頭に付与する文字列。(私の設定:[BLOG])⇒このフィルタ、日本語を設定すると挙動不審になるかも。
- 「Include only updates with (optional)」:設定した文字列が含まれる記事のみ転送する。(私の設定:空欄)
- 「Exclude only updates with (optional)」:設定した文字列が含まれない記事のみ転送する。(私の設定:twitter-)
- 「Save」をクリックして設定内容を保存する。
※追記(2009/012/06)
RSS2twitterが正常動作してくれなくて、いろいろ試行錯誤してわかったのは、どうも上記のIncludeとExcludeのフィルタが逆に動作しているようだということ。
なので、現時点では「twitter-」を「Include only updates with (optional)」の方に設定してしのいでいる。
これによって、私の設定例では、次のような動作となる。
これで、ブログに記事を書き込む度に、RSSフィードの更新があれば、それがtwitterへ自動で書き込まれる。
どのくらい時間がたった後でtwitterへ書き込まれるかは不定で、早ければ30分以内。
下記のブログ記事でも、RSS2twitterの使い方を解説している。
- RSS2twitterはOAuthで認証してTwitterにフィードを流す
http://blog.fkoji.com/2009/05142327.html
twitterでは@rss2twitterのアカウントができていて、私もフォローしているが、まだ一度も呟かれていない。
ちなみに、この手のサービスでは「TwitterFeed」が有名だが、フィルタ機能がRSS2twitterよりも弱い。
特定の文字列を「含まない」フィルタ設定ができないのだ。
これができないと、ここで紹介しているワザは使えない。
なので、RSS2twitterに乗り換えたという経緯がある。
twtr2srcの使用方法
twtr2srcは、次のような機能をもっている。
初回の設定手順は以下の通り。
- twtr2srcのサイトへアクセスする。http://twtr2src.ogaoga.org/
- 右上の青い「Sign In as twitter」ボタンをクリック。
- 「Allow twtr2src access?」と聞かれたら「許可する」をクリック。OAuth経由で認証される。
以下は、twtr2srcの画面での設定内容。
- 右上メニューの「Settings」をクリック。
- 「Format」タグを選択。
- 「Sorting order of timeline」:「Morning to night」を選択(上から下の順に並べる)
- 「Title format」:ブログタイトルのフォーマットを設定する。私の例:[BLOG]twitter-呟き %y/%m/%d %a (詳しくは上記欄の右側にある「Format...」をクリックすると設定例が表示される)
- 「Head of line」:不明(設定しなくても良い?)
- 「Hide @reply」:「@アカウント」の呟きを転送しない場合は、チェックを入れる。
- 「Show image」:twitterの画像を表示させるには、チェックを入れる。
- 「Save」をクリックして設定を保存する。
- 「Auto posting」をクリック。
- 「1. Send a confirmation number」の「Mail address」に、ブログ投稿用メールアドレスを設定。
- 画面下にある[ Send a test mail now... ]をクリック。
これで、メール自動投稿の設定が問題なければ、確認用の「Confirmation number」がブログに書き込まれる。
- ブログ上の「Confirmation number」をメモする。
- ブログ記事を削除する。
- twtr2srcの「Format...」画面に戻り、「2. Enter the confirmation number」の「Confirmation number」欄に、メモした確認番号を設定する。
- 「Auto posting」:「ON」を選択。
次に、「Format...」画面の「3. Set the preferences」に、以下のように設定する。
以上で、ブログ自動投稿の設定が完了。
以下のブログでも、twtr2srcの使い方を解説している。
- 「twtr2src」で自動投稿が可能になったので投稿設定手順をメモ
http://mbdb.jp/?eid=1834
これで、RSS2twitterとtwtr2srcの設定に問題なければ、ブログとtwitterの相互のデータ転送が可能になっているはず。
twtr2srcでは、毎日決まった時間(18:00?)に、twitterの呟きがあればブログへ書き込まれるはずだ。
追記(2009/12/06)
現時点で、いろいろやってみたが、やっぱりうまくいかない。
RSS2twitterのフィルタ機能に問題があるようだ。
まず、「Exclude updates with」のフィルタが逆に動作している(「Include only updates with」と同じ動きになる)。
また、2バイト文字を設定しても正常にフィルタされないのかもしれない。
現時点で、同じことをやるにはRSS2twitter以外の選択肢はないので、これを使い続けるしかない。
前述のRSS2twitterの設定の説明を修正しておいた。