2011年3月20日日曜日

twitter botを作る

■twitter bot基本機能
フォローされたらフォロー仕返す
なんらかの必要情報を定期的につぶやきつづける

※できたらいいな
DMくれたメッセージを翻訳して返す?
RSSフィードを取得してつぶやくとか

■twitter devサイト
http://dev.twitter.com/

■参照すべきポイント
アプリケーション登録&アクセストークン等取得
公開証明書鍵を得る
Twitter User Stream API でタイムラインを表示

■参照サイト
http://www.usamimi.info/~ryouchi/twitter/
>そのまま入れて見たが出来なかった

ボットをつくろうの会のまとめサイト
http://sites.google.com/site/bot2uku/

・いきがかり上、google app engineに登録(tokoro.work@gmail.comで)
http://kizen-study.appspot.com

・Java用のtwitter用クラス
http://twitter4j.org/ja/index.html#introduction

■用語まとめ
・サーブレット
サーバサイドで動作するアプレット

>javaまで手をつけ始めるとまったく進まないので、一旦phpに戻ることにする。
他の言語やるにしても、まずphpをある程度できるようになってから。

■phpでなんとかパッケージを導入
・pearでservices_twitterというのがあった
http://labs.transrain.net/products/services_twitter/

■とりあえずログインしてTLを表示させようとしてみる
http://blog.senseless.jp/2007/05/09/services_twitter/

■下記エラーがでる
Assigning the return value of new by reference is deprecated
PHP5では、newすると参照になるのに、それを =& でさらに参照で受け取ろうとしてエラーが出ているらしい
エラー箇所のソースを読むと、 =& になっているので = に変更

■エラーは消えたがしかし表示はされない
結局参照してたサイトのバージョンが古いことに気づきアップデートを試みる

■pearをもう少しマスターする必要があることに気づく
新しいバージョンのServices_TwitterはHTTP_Request2が必要らしい
だがこれを入れるにはpearのバージョンアップが必要
>とりあえずバージョンアップ処理
pear upgrade-all

■関連ファイルをpearで導入したが、以下のエラーでつまる
Fatal error: Uncaught Unsupported endpoint enableJsonConvert (code: 2) thrown in /Applications/XAMPP/xamppfiles/htdocs/twitter/Services/Twitter.php on line 292


■どうやらこの二文のどこかに問題があるらしい
$st->enableJsonConvert();
$arr = $st->getUserTimeline();

■twitterの問題か?
Twitter は、2010年8月以降、OAuth という認証形式しか使えないようになったらしい…

■アクセスするにはリクエストトークンとアクセストークンがいるらしい
>ここで現在つまってる状態



・Services_Twitter(PHP + PEAR)でゼロからTwitter botを作る
http://blog.guchikiriri.net/2010/12/28/services_twitterphp-pearでゼロからtwitter-botを作る/

・プログラミングができなくても作れるTwitter botの作り方
http://pha22.net/twitterbot/

・PHPでTwitter APIのOAuthを使う方法まとめ
http://www.msng.info/archives/2010/01/twitter_api_oauth_with_php.php

・PHP+OAuthでTwitter
http://www.sdn-project.net/labo/oauth.html

0 件のコメント:

コメントを投稿