Twitter APIから取得したテキストのハイパーリンクを生成(Ruby)
Twitter APIから取得したテキストをHTMLに変換するための公式ライブラリ – xmallocのプログラミングノート.
昨夜このページを見つけてからRubyのライブラリについて調べたのですが、情報が乏しくて時間がかかりました。
Rubyのライブラリ自体は、見当を付けて、
sudo gem install twitter-text
でインストール出来ました。
使い方に関する情報はほとんど見つからず、
https://github.com/mzsanford/twitter-text-rb
の
README.rdoc
を参考にしました。
具体的には次のようにメソッドを定義しました。
require ‘rubygems’
require ‘twitter-text’
の宣言をやっておきます。
def html_link(x) include Twitter::Extractor usernames = extract_mentioned_screen_names(x) include Twitter::Autolink html = auto_link(x) return html end
というメソッドを定義しました。extract_mentioned_screen_namesに文字列の変数を渡すと、@付きのスクリーンネームを配列に取り込むようです。ここに格納されたものだけが、リンクの変換の対象になるみたいです。有効なアカウントのチェックもしているのかもしれないです。
それで再度auto_linkに文字列を渡しますが、ここでURLと、先ほど配列に登録されたTwitterのスクリーンネームがリンクに変換されるみたいです。
ちなみにirbで実行すると有効にはならないリンクが生成されました。単純に文字列を置換しているだけはなさそうです。
あとは次のような感じでメソッドを呼び出しています。使うのはツイートの本体部分のみです。
h[“text”] = html_link(i.text);
コメントを残す