Fork me on GitHub

2007/07/13


このエントリーをはてなブックマークに追加
Pownceをはじめました。ファイルを共有出来る所が特徴で、Twitterのいい対抗馬になるのでは?と思ってます。
Pownce Desktopというアプリケーションも付いてますので、一般ユーザにも取っ掛かり安いかもしれません。ただ、現状マルチバイト文字が入力できないので、全て英語(ぽいもの)で書かないとコミュニケーション出来ません。
もしよかったら気軽にAddしてみて下さい。

ところで...
Pownce Desktopの通信をパケットキャプチャした所、どうやらAPIは存在するようで、専用のURIも存在します。ただまだ非公開の為、変更される事もあれば、今後公開される予定もないかもしれません。
興味本位でWSSEヘッダを作成し、GETを投げて見ましたがHTTP/403。色々試しましたがやはりHTTP/403。どうやらWSSEヘッダの作り方が通常と異なるようです。
通常ならばWSSEヘッダは
base64(sha1(nonce + now + password))
となるべきなのですが、WSSEヘッダからNonceをbase64decodeした値と、Created、自分のpasswordを使ってPasswordDigestを作成してもPownce Desktopが作成したPasswordDigestと同じものにならないんです。
で、どうやらNonceを作るアルゴリズムが通常と異なるんじゃないかとPownce Supportにメールしました。
が、現状返ってきてません。WSSEでよくあるのが、仕様をはきちがえてpasswordをmd5したものを使って
base64(sha1(nonce + now + md5(password)))
と扱ったり(某○メーバブログ)、意図してNonceのランダム文字列に特殊なキーを使ったりします。
ただ、後者の特殊キーを使った場合でも、上記のようにsha1後の値は複合出来ますので、やはり今回の件はPownce側で特殊なアルゴリズムを使っているとしか考えられません。

せっかくPownceAPI.pyを作ろうと思ってたのに...
これで返事返ってきてAPI動いて、もしかしたら、API経由ならマルチバイト行けたりして...
Posted at 12:27 in web::pownce
Tagged as: API, Pownce, WSSE
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2007/07/09


このエントリーをはてなブックマークに追加
MixiAPI.pyで現状出来ていたのは足跡一覧取得だけでしたが、photoアルバムに対応してみました。
現在動作するAPIは以下の通り
  • get_footstamps: 足跡一覧取得
  • create_album: アルバム作成
  • get_albums: アルバム一覧取得
  • upload_photo: 画像アップロード
なんか、このAtomAPIしっくりきません。
以下、疑問に感じたもの
  • 全てのサービスを束ねるルートエントリポイントがない
  • http://mixi.jp/atomはHTTP/404。足跡も、日記も、photoも全てを束ねたルートエントリポイントがない。
  • アルバムを作成出来るが、削除できない
  • photoアルバムのURLにDELETEメソッド、X-Http-Method-OverrideヘッダでDELETE等送信してみたが、HTTP/405やHTTP/400が返る。
  • アルバムのURLにGETでアクセスしてもphoto一覧が取得出来ない
  • Atomならば普通、一覧が返ってきて欲しいところ...
まぁ、誰もまだ「API公開」と公に言った訳じゃないから、仕方ないのかもしれないけど...
こっそりmixi stationなんかで公開すr

とりあえず、以下からダウンロード

ダウンロード:MixiAPI.py

#アルバム作成、画像アップロードのサンプルはMixiAPI.py本体に記述してあります。
Posted at 13:08 in web::mixi
Tagged as: API, AtomPP, mixi, WSSE
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2007/07/06


このエントリーをはてなブックマークに追加
IronPythonでのmixi API操作は既に出来てますので、CPythonで動く物を作ってみました。
とは言っても、まだ足跡APIしか出ていませんので、これからAPIの公開に従い順次追加していく予定です。

メソッドは今のところ、get_footstamps()だけ。
いずれ
  • post_diary
  • edit_diary
  • delete_diary
  • get_friends
等といったメソッドが増えていくのではないか...と思います。
とりあえず、get_footstamps()の使い方は、以下のようなイメージです。
import MixiAPI

service = MixiAPI.Service("user@example.com", "password")
footstamps = service.get_footstamps()
for footstamp in footstamps:
    print footstamp['id']
    print footstamp['title']
    print footstamp['link']
    print footstamp['updated']
    print footstamp['author']['tracks:image']
    print footstamp['author']['tracks:relation']
    print

あれ?mixi APIのAtomPP/WSSE批判はどこいった?
ダウンロード:MixiAPI.py
Posted at 16:26 in web::mixi
Tagged as: API, mixi, python, WSSE
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2007/07/04


このエントリーをはてなブックマークに追加
既に記事タイトルに効力がなくなってます...汗

昨日は、C++でmixiの足跡APIを叩いてみましたが今日はpythonと行きましょう。
ただ、そのままpythonライブラリ...というのも面白くないので、本日リリースされたIronPython2.0アルファ2に合わせて、IronPythonでやってみようと思います。
基本的には、もうVisual Basic.NETです。pythonらしきソースが無くなってます。

続きを読む...

Posted at 14:04 in web::mixi
Tagged as: API, IronPython, mixi, python, WSSE
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip