2011-01-11 13 views
1

私はPHPとMySQLでWebアプリケーションを作成しています。私はユーザーがツイッターを介してサイトとやりとりできるようにしたい。 RememberTheMilkがタスクやその他のアクティビティを作成する手段としてTwitterをどのように組み込んでいるかに精通しているなら、私は何をしたいのか考えています。
インタラクションは簡単です。たとえば、User_Jayは自分のTwitterアカウントに直接メッセージを送信します。私のアプリケーションは、User_Jayのメッセージを見ると、アプリケーションがキーフレーズを認識して少しのコードを実行するたびに、ダイレクトメッセージストリームを頻繁にチェックします。コードが実行されると、アプリケーションはUser_Jayにダイレクトメッセージを送信します。終わり。
私は、この努力に最も適したtwitterライブラリがどれか分かりません。直接メッセージに基づいて特定のユーザーに対してコードを実行させる方法もわかりません。
_
参考のために、ユーザーは実際のサイトにアカウントを作成し、そこでTwitterユーザーの名前を宣言することができます。
また、この種のことを実現するサンプルコードまたはサンプルコードへのリンクは非常に高く評価されます。ダイレクトメッセージのツイッターストリームを入力として使用するにはどうすればよいですか?

+0

Twitter Streaming APIからデータを解析するデーモンを設定することを検討していますか? – David

答えて

0

ダイレクトメッセージにはTwitterストリーミングAPIを使用できます。まず、PHPで記述する必要はありません。あなたがPHPでサイトを書いているかもしれませんが、それはあなたがつぶやきを得るバックグラウンドプロセスのためにPHPを使用しなければならないというわけではありません。

まず、User Streams APIのデータを処理するコードが必要です。私はPHPのためのものがあるとは確信していませんが、phirehoseが近づきます。ユーザーストリームをサポートするためのパッチが用意されています。

ユーザーストリームをサポートするPHPライブラリが見つからない場合は、Rubyの使用を検討することをおすすめします。 Rubyでデーモンを書くのはかなり簡単ですし、ユーザストリームをサポートするtwitterstreamのようなライブラリを使うことができます。

次に、基本的にユーザーストリームを処理するいくつかのコードを記述する必要があります。取得しているものがダイレクトメッセージであるかどうかを確認し、それをデータベースに格納します。おそらく、これが普及すれば何をするかについて考えて、待ち行列やデータベースの速度などについて考えてみてください。また、回答を送る場合は、APIレートの制限などについて考える必要があります。

ストリーミングAPIの使用は、プルAPIの使用に非常によく似ています.JSONのBLOBを取得し、一連のキーと値のペアを取得します。あなたはどのユーザーを扱っているかをどのように決定しますか?さて、ユーザーキーを見て、ユーザー名を探します。

また、DMを使用してサイトとやりとりするための構文を用意する必要があります。正規表現ベースのパーサーを作成するか、おそらくレクサーを使用する必要があります。また、単体テストなどを使って、これをかなり難しくテストしたいと思うでしょう。あなたはユーザーからのテキストを受け入れています:それを信用しないでください!

ストリーミングAPIだけでなく、cronジョブを実行してAPIで新しいメッセージを確認することもできます。これは簡単ですが、それほど良いものではありません。

関連する問題