Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-09-22

「なこったー」にあると便利そうな関数リスト

| 「なこったー」にあると便利そうな関数リスト - そっとなでしこ を含むブックマーク はてなブックマーク - 「なこったー」にあると便利そうな関数リスト - そっとなでしこ

 Twitter APIの中で、日本語プログラミング言語「なでしこ」用Twitter 連携ライブラリ「なこったーで使えるものは、まだ一部に限られています。

  


_U_D_
U D

. #nadesiko なこったーに追加して欲しい API 募集。宣言したし追加作業する。
(2010/09/21 12:14:49)

link

 ということで、こんなAPIがあったら便利そうだな~、というものを、Twitter API 仕様書からリストアップしてみました。

 「なでしこ」でTwitter関連ツールを作る場合、汎用的なTwitterクラインアントとかよりも、「Twitterボット」「リストへの一括登録ツール」「相互フォローツール」「片思い一括リムーブツール」「一括ブロックツール」みたいな、痒い所に手が届く系の小物ツールに需要があるのでは、と思います。ですから、そういうTwitter関連ツールを作る場合に必要になりそうAPIを選んでみました。

■タイムライン関連のAPI

■statuses/retweeted_by_me(欲しい度★)

 自分が投稿した retweet の一覧を取得する。

 意外と既存のTwitterクラインアントでは閲覧できなかったりするので、需要があるかも?

■statuses/retweets_of_me(欲しい度★★★)

 自分が投稿した発言のうち(自分以外の)誰かによって retweet されたものの一覧を取得する。

 Twitterクラインアントでも、返信一覧は閲覧できても、retweetの一覧は閲覧できないものも少なくないので、需要はあるかと。というか、自分は欲しかったので、既に「なこったー」を拡張して使っていたりしますw

 こんな感じ。

 ・リツイート取得({ハッシュ=?}PARAMで)~
  URLとは文字列 = APIURL & 『statuses/retweets_of_me』 & フォーマット
  URLへPARAMでoauth.GET
  レスポンス処理。

 具体的に誰がリツイートしたのかを知るためには、「statuses/id/retweeted_by」APIを使う必要あるようです。

■ステータス関連のAPI

■statuses/show(欲しい度★★)

 指定した ID のステータス(1件)を取得する。

 地味なAPIです。使う場面があるとすれば、「ホームTL取得」「ユーザTL取得」「返信取得」で取得したツイート情報(status要素)に含まれる「in_reply_to_status_id」値から返信先のツイートを取得したい、みたいな場面で必要になるかと。

 あるこ便利なので(Twitter APIの動作確認みたいな時)、既に「なこったー」を拡張して使っていたりしますw

 こんな感じ。

 ・つぶやき取得({文字列}STATUS_IDを)~
  URLとは文字列 = APIURL & 『statuses/show/』 & STATUS_ID & フォーマット
  URLへoauth.GET
  レスポンス処理。

■statuses/id/retweeted_by(欲しい度★★★)

 指定したステータスを retweet しているユーザのうち最大100人分のユーザ情報を取得する(page引数を指定することで101人目以降も取得可能)。

 似たようなAPIは他にもあります。ただ、「statuses/retweets」だと最新の100人分しか取得できません。「statuses/id/retweeted_by/ids」だとユーザーID番号しか取得できません。仕様書を見た限りでは、「statuses/id/retweeted_by」が使い勝手が良さそうかと。

 上記の「statuses/retweets_of_me」とセットで使うことになるかと。

■ユーザ情報関連のAPI

■statuses/friends(欲しい度★★★)

 自分がフォローしているユーザーの一覧を(各 friend の最新ステータス付きで)取得する。

■statuses/followers(欲しい度★★★)

 自分をフォローしているユーザーの一覧を(各 follower の最新ステータス付きで)取得する。


■users/lookup(欲しい度★★★)

 ユーザIDまたはスクリーン名で指定したユーザに関する詳細な情報を取得する

 似たようなAPIとして「users/show」がありますが、「users/show」は指定ユーザが自分の friend でない場合はエラーになります。

■users/search(欲しい度★★)

 指定条件に一致する Twitter ユーザを検索する。


■ダイレクトメッセージ関連のAPI

 自分はTwitterでDMを使ったことが無いので、個人的にはあんまり欲しくは…w

■direct_messages(欲しい度★)

 自分宛てのダイレクトメッセージの一覧を取得する (最大20件)

■direct_messages/sent(欲しい度★)

 自分が送信したダイレクトメッセージの一覧を取得する (最大20件)

■direct_messages/new(欲しい度★)

 ダイレクトメッセージを送信

■direct_messages/destroy(欲しい度★)

 ダイレクトメッセージを削除

■フレンド関連のAPI

■friendships/destroy(欲しい度★★★)

 指定ユーザーをフォローから外す。

■お気に入り関連のAPI

■favorites(欲しい度★★★)

 自分または指定したユーザの favorites(お気に入り) に登録されている「発言」のうち、最新のものから最大20件取得する

■favorites/destroy(欲しい度★★★)

 指定ステータスを自分の「お気に入り」から外す。

■ブロック関連のAPI

■blocks/create(欲しい度★★★)

 指定ユーザをブロックする。

 あると便利なので、既に「なこったー」を拡張して使っていたりしますw

 こんな感じ。

 ・ブロック({ハッシュ=?}PARAMで{文字列}SCREEN_NAMEを)~
  URLとは文字列 = APIURL & 『blocks/create/』 & SCREEN_NAME & フォーマット
  URLへPARAMでoauth.POST
  レスポンス処理。

■blocks/destroy(欲しい度★★★)

 指定ユーザのブロックを解除する。

■blocks/blocking(欲しい度★★★)

 自分がブロックしているユーザの一覧を取得する。

 何気に、自分がブロックしているユーザを確認する方法がtwitter.comには用意されていません。あると便利なので、既に「なこったー」を拡張して使っていたりしますw

 こんな感じ。

 ・ブロック一覧取得~
  URLとは文字列 = APIURL & 『blocks/blocking』 & フォーマット
  URLへoauth.GET
  レスポンス処理。

■list 関連のAPI

■POST lists (create)(欲しい度★★★)

 list を作成する

■GET lists (index)(欲しい度★★★)

 指定ユーザの list の一覧を取得する(自分自身の list の一覧を取得する場合は、非公開の list も一覧に含まれる)。

■GET list statuses

 指定した list に登録されているメンバーのみで構成されるタイムラインを取得(欲しい度★★★)

■GET list memberships(欲しい度★)

 指定したユーザが登録されている list の一覧を取得する

 「http://twitter.com/××/lists/memberships」を見ればいいじゃん、という話も…

■GET list subscriptions(欲しい度★)

 指定したユーザが購読している list の一覧を取得する

 「http://twitter.com/××/lists」を見ればいいじゃん、という話も…

■list の登録内容に関する API

■GET list members(欲しい度★★★)

 指定した list に登録されているメンバーの一覧を取得する。

 便利そうリストを発見して、リストのまま購読するのではなく、自分用にカスタマイズしたい時とか、あると便利そうかなぁと。

■POST list members(欲しい度★★★)

 指定した list にメンバー追加する。

 上記の「GET list members」で取得したメンバー一覧を編集したリストを一括登録する時、などに使えそうかと。

■DELETE list members(欲しい度★★★)

 指定した list からメンバーを削除する。

■検索関連のAPI

■search(欲しい度★★)

 指定した検索条件を満たす「発言」を返す。