Changes between Version 15 and Version 16 of Dev/Twitter


Ignore:
Timestamp:
Dec 18, 2010 10:20:04 PM (13 years ago)
Author:
mitty
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev/Twitter

    v15 v16  
    1919 * https://twitter.com/hktechno/status/15344865525108738 
    2020  * Twitter の OAuth って、一度 Connection を revoke すると、再度 Allow しても、それ以前に取得した token すべて無効になるっぽい 
    21  
    22  == Perl == 
    23  * [http://search.cpan.org/perldoc?Net::Twitter Net::Twitter - search.cpan.org] 
    24    * Mooseを使うためか、依存パッケージがかなり多い (Ubuntu lucidでaptitude install libnet-twitter-perl => 49 newly installed) 
    25  * [http://search.cpan.org/perldoc?Net::Twitter::Lite Net::Twitter::Lite - search.cpan.org] 
    26    * 依存パッケージは少ない(5 newly installed)が、エラーハンドリングを自前でやってくれないのでevalしないといけない(公式にそう書いてある…) 
    27    * デフォルトではNet::OAuth(libnet-oauth-perl)を入れてくれないので、気をつけないと認証できなくて悩むことになる 
    28  
    29  * [http://labs.s-koichi.info/blog/archives/2010/04/21/2328-180.php ついっこ代わりに、Twitterのbotを作成してみた | Koichi Labs Blog] 
    30  
    31  * [http://d.hatena.ne.jp/connvoi_tyou/20090628/1246170347 電車の時間を教えてくれるtwiiterのbot的ななにかをつくる。 - connvoi_tyouの日記] 
    32  * [http://d.hatena.ne.jp/connvoi_tyou/20090711/1247323842 twitter bot的な何かをつくる。その2 - connvoi_tyouの日記] 
    33  * [http://d.hatena.ne.jp/munaryo/20090714/1247577155 式波botを作る - 看招 血染東方一片紅] 
    34  
    35  === glossary === 
    36  * id 
    37    * 文脈に依存するが、メソッドに引数として与える際はuser_id or screen_name or status_id 
    38    * 返値のHASHのキーとして含まれる場合は、user_id or status_idのことが多い模様 
    39    * 返値の例 
    40 {{{ 
    41 my $res = $bot->followers({cursor => -1}); 
    42 > $ret->{users}[0]{id} => user_id 
    43 > $ret->{users}[0]{status}{id} => status_id 
    44 }}} 
    45  * user_id 
    46    * ユーザを指定するID(num) 
    47  * screen_name 
    48    * twitter.com/hogehoge の hogehoge の部分 
    49  * status_id 
    50    * つぶやき(tweet)を一意に指定するID(num) twitter.com/hogehoge/status/12345 の12345の部分 
    51  * since_id 
    52    * 指定するID「より大きな」IDのみを対象とする 
    53  * page 
    54    * 20件ずつ取得する際の(過去に向かっての)ページ番号 
    55    * 開始は1 
    56  
    57  === commonly used method === 
    58  * followers 
    59    * IDで指定されるユーザ「を」フォローしているユーザのリスト 
    60    * 引数idを省略した場合、自分をフォローしているユーザのリストが返る 
    61  * followers_ids 
    62    * idのリストだけ欲しい場合 
    63    * 返値がfollowerのuser_idの単純な配列リファレンスなので使いやすい 
    64  * friends 
    65    * IDで指定されるユーザ「が」フォローしているユーザのリスト 
    66    * followingというメソッド名でも可 
    67  * retweet 
    68    * IDで指定されるつぶやきをRT 
    69    * 新しく生成されたstatusのIDをshow_statusしたものが返る 
    70    * 既にRT済だったりする場合は「403: Forbidden」 
    71    * rtweets とメソッド名が紛らわしい… 
    72  * retweeted_by 
    73    * IDで指定されるつぶやきをRTしたユーザのリストを得る 
    74  * retweeted_by_ids 
    75    * retweeted_byのuser_idのみバージョン 
    76  * retweeted_by_me 
    77    * 自分がRTしたつぶやきのリスト twitter.com/retweets 
    78    * メニューの「Retweets」=>「Retweets by you(あなたのリツイート)」と同じ 
    79  * retweeted_of_me 
    80    * RTされた自分のつぶやき twitter.com/retweeted_of_mine 
    81    * メニューの「Retweets」=>「Your tweets, retweeted(リツイートされたあなたのツイート)」と同じ 
    82  * retweeted_to_me 
    83    * メニューの「Retweets」=>「Retweets by others(みんなのリツイート)」と同じ 
    84  * retweets 
    85    * IDで指定されるつぶやきのRTリスト 
    86  * show_status 
    87    * IDで指定されるつぶやきを得る 
    88    * 必ずしもログインしている必要は無い 
    89  * mentions 
    90    * @hogehoge となっているつぶやきを得る 
    91    * repliesというメソッド名でも可 
    92    * since_id => 0 だと「Error in 'since_id' parameter: invalid id.」 
    93    * RTは含まれない 
    94    * example => [./Perl#mentions] 
    95  * update 
    96    * 新しくstatusを生成 
    97  * search 
    98    * 検索機能を実行する 
    99    * 引数はHASHだが、'string'をそのまま与えると { q => 'string'} として解釈する模様 
    100    * example => [./Perl#search] 
    101    * Twitterの検索機能は信頼性が低いかつフィルタされている単語があるのでそもそもあまり使い物にならない 
    102  * user_timeline 
    103    * (指定した)ユーザのつぶやきリストを得る 
    104    * 指定しない場合、自分のつぶやき 
    105    * RTは含まれない 
    106  * rate_limit_status 
    107    * APIの、単位時間あたりの最大回数回数と現時点での残り回数を得る 
    108    * example => [./Perl#rate_limit_status] 
    109  
    110  === tips === 
    111  * timelineなど、返値がArrayの場合、新しいつぶやきが若いindexでアクセスされる。つまり古いつぶやきから逐次処理する場合はreverseで配列を逆順にして処理すると良い 
    112  * [http://wiki.tmd45.in/wiki.cgi?page=Twitter%A5%C9%A5%AD%A5%E5%A5%E1%A5%F3%A5%C8%2F%A5%BD%A1%BC%A5%B7%A5%E3%A5%EB%A5%B0%A5%E9%A5%D5%B4%D8%CF%A2%A4%CEAPI Twitterドキュメント/ソーシャルグラフ関連のAPI - TMD45WIKI!!!!] 
    113    * cursor=-1 または cursor=カーソル位置 (必須[になる予定。現在は、オプション]) 
    114    * 指定した(データベースの)カーソル位置以降のユーザID一覧を5000件分(1ページ分)取得する。-1 を指定した場合、先頭からの5000件分を取得する。応答本体に next_cursor がある場合は、「次のページ」(のカーソル位置)、previous_cursor がある場合は、「前のページ」(のカーソル位置)がそれぞれ存在することを示す。本APIの次回実行時に、この next_cursor や previous_cursor の示すカーソル位置を使用することで、ユーザID一覧の「次のページ」や「前のページ」相当分(5000件分)を取得することができる。(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない) 
    115    * cursor 引数を省略した場合、全ユーザ(friends)のID一覧を返す(タイムアウトが発生するか、不完全な一覧が返る可能性が高い)[将来、上記のcursor 引数省略時の挙動は廃止し、cursor 引数の指定を必須とする予定] 
    116  * retweetを、元々のstatus_idではなく、RT自体のIDを使ってretweet($id)すると、入れ子RTになるのではなく元々のstatus_idのtweetに対するRTになる。 
    117    * 元々のtweetから見ると2回RTされている 
    118  
    119  === samples === 
    120  * source:/vendor/twitter/ 
    121    * [http://d.hatena.ne.jp/layerzero/20090930/p1 Net::TwitterでOAuthしてみるテスト - 日々積みゲー] 
    122    * [http://www.otchy.net/20090726/making-of-twitter-bot-index/ Twitter ボットの作り方 Perl 編 (目次) – OTCHY.NET] 
    123  * source:/trunk/Dev/twitter/twitterbot.pl 
    124    * とりあえずつぎはぎで動くようになったもの 
    125    * => http://twitter.com/wordian 
    126    * Ubuntu  
    127      * sudo aptitude install -R libyaml-tiny-perl libnet-twitter-lite-perl libnet-oauth-perl 
    128    * ActivePerl 
    129      1. ppm install Net::Twitter::Lite 
    130      1. ppm install YAML::Tiny 
    131      1. ppm install Date::Parse 
    132    * とりあえずつぎはぎで動くようになったもの