2007年03月01日

phpのcURLを使ってタスク管理ソフトSlimTimerのAPIを使いたい このエントリーをはてなブックマークに追加

こんにちは、鈴木善幸です(勿論嘘です)。

最近スケジュール管理に Google カレンダー を利用しているのだが、それと同時に SlimTimer を利用しはじめた。

SlimTimer はタスク管理スケジューラっぽいものである。日本でタスク管理といえば 目標管理ツール - checkpad.jp がおそらく有名なのだと思われるが、SlimTimerにはある利点がある。

checkpad で(多分)実現していない機能として、SlimTimerではタスクの時間管理という概念が存在する。
タスクを登録しまくって、いざ、そのタスクに着手する際には Open Timer といって、着手開始時刻を記録しはじめる。記録中はWindowの名前が表示される部分が秒単位でカウントアップされるため、PC上で作業をしている最中に「今、この作業にどのくらいの時間がかかっているか」がわかる。
作業終了後、タイマーをクローズすることで、実際の作業時間が履歴として保存される。本当に作業が完了すると、タスクそのものをCompleteすることでタスク全体の作業時間がわかるのだ。
こうすることにより、同じよーな作業をしていても「今日は時間が掛かった」とか「今日はすぐに終わった」といった履歴を閲覧できて素晴らしい。
また、作業を中断する際はタイマーを止める(Stop)することもできる柔軟性を持っている。

りょーちの場合、まず、やるべきことを次々とSlimTimerに登録していき、ひとつひとつタスクを消して行くよーなやりかたをしている。

SlimTimerはそういった意味ではリアルタイムToDo管理機能といってもよさそーである。ただ、可能であれば、Google カレンダーと連携してくれるとなお嬉しい。

で、そんなことはできないのであろうかと思案していると SlimTimerにAPIがある ことに気づいた。
APIのページを見てみると、curlでのハンドリングが可能っぽい。
ただ、いろいろ調べてみたのだが、どーもりょーちの浅い知識ではphpを使ってcurlをハンドリングしてSlimTimerにクエリを投げる方法がよくわかんないっす。


curl -H 'Accept: application/xml' -H 'Content-Type: application/xml'
-d '<?xml version="1.0" encoding="UTF-8"?>
<request>
<user>
<email>rrwhite@gmail.com</email>
<password>testtest</password>
</user>
<api-key>94d641ad952e7e0</api-key>
</request>' -X POST http://www.slimtimer.com/users/token


こんな風にするとSlimTimerをハンドリングできるよーであるが、これってcurlをコマンドラインで実行するって感じのよーである。りょーちの利用しているサイトではコマンドラインからのexecは認められてないので PHP: CURL, Client URL Library 関数 - Manual を駆使して上記のよーなクエリを投げなければいけない。うーむ、この方法よくわかんないっす。

エンドポイントにcurl経由でAPIキーを投げてその結果をXMLで取得する部分でもう躓いた・・・orz
うーむ、どーすればよいのか。
とりあえずぐぐってみると、なんと、それっぽいやり方が書いてあった(素晴らしい)。
kashinya blog: PHPとcURLと直書きXMLを使ったXML-RPCでのMovableType投稿メモ

ふむふむ。難しいことをやっとるのぅ(この人すごいな・・・)

ってことでこんな感じでよいのかしら?



実行すると access-token と user-id が取得できた。うーむ、長い道のりであった。
で、よくわかんないのだが、このやり方だと取得するたびにFILENAMEで指定したファイルを経由しなければならなくて結構面倒(つーか、現実的でないっす)。

ファイルを介さずにXMLを取得する方法があったら是非とも教えて欲しいです。
むむむ。

kashinya blog さんにトラックバックしてみた。



posted by りょーち | Comment(0) | TrackBack(0) | Web周辺技術
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。