| | 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されている |