Posts Tagged ‘TwitterAPI’
ツイートの中のリンクを自動生成するライブラリ(PHP)
Twitter APIから取得したテキストをHTMLに変換するための公式ライブラリ – xmallocのプログラミングノート.
仕様が変わったのか、どうもここに書いてある方法ではうまくいかなかったです。
http://github.com/mzsanford/twitter-text-php
からダウンロードした圧縮ファイルを展開するとtests/example.phpというサンプルファイルのようなものがあったので、それを参考にしました。合っているの確信はないですが、これで機能しました。
まず展開したファイルのlib/Twitter/ディレクトリを実行するPHPファイルと同一のディレクトリに置いてパスを通しました。
require_once “Twitter/Autolink.php”;
あとはこんな感じです。ツイートの入っている変数が$textです。
$html .= Twitter_Autolink::create($text)->setNoFollow(false)->addLinks();
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);