wiki:Dev/Twitter

Version 4 (modified by mitty, 13 years ago) (diff)

--

Twitter

Perl

glossary

  • id
    • 文脈に依存するが、メソッドに引数として与える際はuser_id or screen_name or status_id
    • 返値のHASHのキーとして含まれる場合は、user_id or status_idのことが多い模様
    • 返値の例
      my $res = $bot->followers({cursor => -1});
      > $ret->{users}[0]{id} => user_id
      > $ret->{users}[0]{status}{id} => status_id
      
  • user_id
    • ユーザを指定するID(num)
  • screen_name
    • twitter.com/hogehoge の hogehoge の部分
  • status_id
    • つぶやき(tweet)を一意に指定するID(num) twitter.com/hogehoge/status/12345 の12345の部分
  • since_id
    • 指定するID「より大きな」IDのみを対象とする
  • page
    • 20件ずつ取得する際の(過去に向かっての)ページ番号
    • 開始は1

commonly used method

  • followers
    • IDで指定されるユーザ「を」フォローしているユーザのリスト
    • 引数idを省略した場合、自分をフォローしているユーザのリストが返る
  • friends
    • IDで指定されるユーザ「が」フォローしているユーザのリスト
    • followingというメソッド名でも可
  • retweet
    • IDで指定されるつぶやきをRT
    • 新しく生成されたstatusのIDをshow_statusしたものが返る
    • 既にRT済だったりする場合は「403: Forbidden」
    • rtweets とメソッド名が紛らわしい…
  • retweeted_by
    • IDで指定されるつぶやきをRTしたユーザのリストを得る
  • retweeted_by_ids
    • retweeted_byのuser_idのみバージョン
  • retweeted_by_me
    • 自分がRTしたつぶやきのリスト twitter.com/retweets
    • メニューの「Retweets」=>「Retweets by you(あなたのリツイート)」と同じ
  • retweeted_of_me
    • RTされた自分のつぶやき twitter.com/retweeted_of_mine
    • メニューの「Retweets」=>「Your tweets, retweeted(リツイートされたあなたのツイート)」と同じ
  • retweeted_to_me
    • メニューの「Retweets」=>「Retweets by others(みんなのリツイート)」と同じ
  • retweets
    • IDで指定されるつぶやきのRTリスト
  • show_status
    • IDで指定されるつぶやきを得る
    • 必ずしもログインしている必要は無い
  • mentions
    • @hogehoge となっているつぶやきを得る
    • repliesというメソッド名でも可
    • since_id => 0 だと「Error in 'since_id' parameter: invalid id.」
  • update
    • 新しくstatusを生成
  • search
    • 検索機能を実行する
    • 引数はHASHだが、'string'をそのまま与えると { q => 'string'} として解釈する模様
  • user_timeline
    • (指定した)ユーザのつぶやきリストを得る
    • 指定しない場合、自分のつぶやき
    • RTは含まれない

tips

  • timelineなど、返値がArrayの場合、新しいつぶやきが若いindexでアクセスされる。つまり古いつぶやきから逐次処理する場合はreverseで配列を逆順にして処理すると良い
  • Twitterドキュメント/ソーシャルグラフ関連のAPI - TMD45WIKI!!!!
    • cursor=-1 または cursor=カーソル位置 (必須[になる予定。現在は、オプション])
    • 指定した(データベースの)カーソル位置以降のユーザID一覧を5000件分(1ページ分)取得する。-1 を指定した場合、先頭からの5000件分を取得する。応答本体に next_cursor がある場合は、「次のページ」(のカーソル位置)、previous_cursor がある場合は、「前のページ」(のカーソル位置)がそれぞれ存在することを示す。本APIの次回実行時に、この next_cursor や previous_cursor の示すカーソル位置を使用することで、ユーザID一覧の「次のページ」や「前のページ」相当分(5000件分)を取得することができる。(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
    • cursor 引数を省略した場合、全ユーザ(friends)のID一覧を返す(タイムアウトが発生するか、不完全な一覧が返る可能性が高い)[将来、上記のcursor 引数省略時の挙動は廃止し、cursor 引数の指定を必須とする予定]
  • retweetを、元々のstatus_idではなく、RT自体のIDを使ってretweet($id)すると、入れ子RTになるのではなく元々のstatus_idのtweetに対するRTになる。
    • 元々のtweetから見ると2回RTされている

samples