| 16 | * [http://labs.s-koichi.info/blog/archives/2010/04/21/2328-180.php ついっこ代わりに、Twitterのbotを作成してみた | Koichi Labs Blog] |
| 17 | |
| 18 | === glossary === |
| 19 | * id |
| 20 | * 文脈に依存するが、メソッドに引数として与える際はuser_id or screen_name or status_id |
| 21 | * 返値のHASHのキーとして含まれる場合は、user_id or status_idのことが多い模様 |
| 22 | * 返値の例 |
| 23 | {{{ |
| 24 | my $res = $bot->followers({cursor => -1}); |
| 25 | > $ret->{users}[0]{id} => user_id |
| 26 | > $ret->{users}[0]{status}{id} => status_id |
| 27 | }}} |
| 28 | * user_id |
| 29 | * ユーザを指定するID(num) |
| 30 | * screen_name |
| 31 | * twitter.com/hogehoge の hogehoge の部分 |
| 32 | * status_id |
| 33 | * つぶやき(tweet)を一意に指定するID(num) twitter.com/hogehoge/status/12345 の12345の部分 |
| 34 | * since_id |
| 35 | * 指定するID「より大きな」IDのみを対象とする |
| 36 | |
| 37 | === commonly used method === |
| 38 | * followers |
| 39 | * IDで指定されるユーザ「を」フォローしているユーザのリスト |
| 40 | * 引数idを省略した場合、自分をフォローしているユーザのリストが返る |
| 41 | * friends |
| 42 | * IDで指定されるユーザ「が」フォローしているユーザのリスト |
| 43 | * followingというメソッド名でも可 |
| 44 | * retweet |
| 45 | * IDで指定されるつぶやきをRT |
| 46 | * 新しく生成されたstatusのIDをshow_statusしたものが返る |
| 47 | * 既にRT済だったりする場合は「403: Forbidden」 |
| 48 | * rtweets とメソッド名が紛らわしい… |
| 49 | * retweeted_by |
| 50 | * IDで指定されるつぶやきをRTしたユーザのリストを得る |
| 51 | * retweeted_by_ids |
| 52 | * retweeted_byのuser_idのみバージョン |
| 53 | * retweeted_by_me |
| 54 | * 自分がRTしたつぶやきのリスト twitter.com/retweets |
| 55 | * メニューの「Retweets」=>「Retweets by you(あなたのリツイート)」と同じ |
| 56 | * retweeted_of_me |
| 57 | * RTされた自分のつぶやき twitter.com/retweeted_of_mine |
| 58 | * メニューの「Retweets」=>「Your tweets, retweeted(リツイートされたあなたのツイート)」と同じ |
| 59 | * retweeted_to_me |
| 60 | * メニューの「Retweets」=>「Retweets by others(みんなのリツイート)」と同じ |
| 61 | * retweets |
| 62 | * IDで指定されるつぶやきのRTリスト |
| 63 | * show_status |
| 64 | * IDで指定されるつぶやきを得る |
| 65 | * 必ずしもログインしている必要は無い |
| 66 | * mentions |
| 67 | * @hogehoge となっているつぶやきを得る |
| 68 | * repliesというメソッド名でも可 |
| 69 | * since_id => 0 だと「Error in 'since_id' parameter: invalid id.」 |
| 70 | * update |
| 71 | * 新しくstatusを生成 |
| 72 | * search |
| 73 | * 検索機能を実行する |
| 74 | * 引数はHASHだが、'string'をそのまま与えると { q => 'string'} として解釈する模様 |
| 75 | |
| 76 | === tips === |
| 77 | * timelineなど、返値がArrayの場合、新しいつぶやきが若いindexでアクセスされる。つまり古いつぶやきから逐次処理する場合はreverseで配列を逆順にして処理すると良い |
| 78 | * [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!!!!] |
| 79 | * cursor=-1 または cursor=カーソル位置 (必須[になる予定。現在は、オプション]) |
| 80 | * 指定した(データベースの)カーソル位置以降のユーザID一覧を5000件分(1ページ分)取得する。-1 を指定した場合、先頭からの5000件分を取得する。応答本体に next_cursor がある場合は、「次のページ」(のカーソル位置)、previous_cursor がある場合は、「前のページ」(のカーソル位置)がそれぞれ存在することを示す。本APIの次回実行時に、この next_cursor や previous_cursor の示すカーソル位置を使用することで、ユーザID一覧の「次のページ」や「前のページ」相当分(5000件分)を取得することができる。(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない) |
| 81 | * cursor 引数を省略した場合、全ユーザ(friends)のID一覧を返す(タイムアウトが発生するか、不完全な一覧が返る可能性が高い)[将来、上記のcursor 引数省略時の挙動は廃止し、cursor 引数の指定を必須とする予定] |
| 82 | * retweetを、元々のstatus_idではなく、RT自体のIDを使ってretweet($id)すると、入れ子RTになるのではなく元々のstatus_idのtweetに対するRTになる。 |
| 83 | * 元々のtweetから見ると2回RTされている |