Python-twoauth

出典: ./techno-devel

開発状況... 95% ぐらい

目次

About This

  • OAuth でしか使えない、Twitter API の Python 向けラッパーです。
    • Basic 認証に対応させるつもりはありません。
  • Python v2.6 の標準ライブラリしか使ってません。
    • 2.5 だと動かなくなりました。(たぶん。json 入れれば動くかな?)
  • すべての REST API Method に対応させてあります。
    • Retweet とか、Lists とかも、完全サポート。
    • 最近対応されたのに対応してないかも。
  • User Streams, Streaming API に対応してます。
  • ライセンスは MIT License です。
  • バグ報告などは <info [at] techno-st.net> へ。

Download

ただし、分かる人は現状 git リポジトリにあるやつのほうが安定してるし、バグもつぶされてるし、いいと思います。

Repository

Changes

  • v0.1.0
    • 取りあえず公開...

How to use

  • インストールは、標準的な Python モジュールと同じです。
$ python setup.py build
# python setup.py install
  • 簡単な使い方は、こんな感じになります。
    • Access Token の取得は、"sample/get_access_token.py" を見る or 実行してください。
import twoauth
twitterapi = twoauth.api(consumer_key, consumer_secret, access_token, access_token_secret)
twitterapi.home_timeline()
  • 各 API のメソッドに、twoauth クラスのメソッドがひとつ割り当てられています。
  • POST で渡したい引数でオプションのものは、名前付き引数で渡してあげてください。
home_timeline(page = 1, since_id = xxx)
  • 各メソッドが返すのは、XML をパースした辞書 (dict) のリストとかになります。
  • たとえばこんな感じ... (要素名は、受け取った XML の要素名そのままなので、APIwiki を見てください)
[{'id': '123456', 'text': 'hogehoge', 'user': {'screen_name': 'hoge'}}, {'id': ......]
  • 以下は v0.1.0 のメソッド一覧です。APIwiki と対応付けしながら見てみてください。
   def public_timeline(self):
   def home_timeline(self, **params):
   def friends_timeline(self, **params):
   def user_timeline(self, user = "", **params):
   def mentions(self, **params):
   def rt_by_me(self, **params):
   def rt_to_me(self, **params):
   def rt_of_me(self, **params):
   def status_show(self, _id):
   def status_update(self, status, **params):
   def status_destroy(self, _id):
   def status_retweet(self, _id):
   def status_retweets(self, _id):
   def user_show(self, user, **params):
   def user_search(self, q, **params):
   def status_friends(self, user = "", **params):
   def status_followers(self, user = "", **params):
   def lists_create(self, name, **params):
   def lists_update(self, _id, **params):
   def lists_index(self, user = "", **params):
   def lists_show(self, _id, user = "", **params):
   def lists_destroy(self, _id, **params):
   def lists_statuses(self, _id, user = "", **params):
   def lists_memberships(self, user = "", **params):
   def lists_subscriptions(self, user = "", **params):
   def lists_mlist(self, list_id, user = "", **params):
   def lists_madd(self, member, list_id, user = "", **params):
   def lists_mremove(self, member, list_id, user = "", **params):
   def lists_mshow(self, _id, list_id, user = "", **params):
   def lists_slist(self, list_id, user = "", **params):
   def lists_sadd(self, list_id, user = "", **params):
   def lists_sremove(self, list_id, user = "", **params):
   def lists_sshow(self, _id, list_id, user = "", **params):
   def dm_list(self, **params):
   def dm_sent(self, **params):
   def dm_destroy(self, _id):
   def dm_new(self, user, text, **params):
   def friends_create(self, user, **params):
   def friends_destroy(self, user, **params):
   def friends_exists(self, user_a, user_b, **params):
   def friends_show(self, target, source = "", **params):
   def friends_ids(self, user = "", **params):
   def followers_ids(self, user = "", **params):
   def verify_credentials(self):
   def rate_limit(self, ip_limit = False):
   def end_session(self):
   def delivery_device(self, device, **params):
   def profile_colors(self, **params):
   def profile_image(self, image, **params):
   def profile_background_image(self, image, **params):
   def profile(self, **params):
   def favorites(self, user = "", **params):
   def favorite_create(self, _id = "", **params):
   def favorite_destroy(self, _id = "", **params):
   def notification_follow(self):
   def notification_leave(self):
   def block_create(self, user, **params):
   def block_destroy(self, user, **params):
   def block_exists(self, user, **params):
   def block_list(self, **params):
   def block_ids(self, **params):

ToDo

  • ユーザー認証しないで使えるメソッドは、そのまま使えるようにしたい。
  • OAuth の Client じゃなくて、Web から Web の認証もできるようにしたい。