Remember The MilkのAPIを使う方法
久しぶりに、なかなかうまく行かない!と悩んでしまいました。なんで情報がないんでしょうねぇ。
さて、最近、すごい!量のタスクが重なり、何から手をつけていいのか悩む状態になっており、これを解消するために、再びGTDの手法を使おう!ということにしていました。
基本手書きをメインとしており、最初はそれで良かったのですが、GTDでいうプロジェクトの数が、すごいことになってしまい機能不全になりかけてしまいました。
そこで、今後はRTMだ!ということで、使おう!と思いたったわけです。RTMにはAPIが公開されており、そこから手帳にタスクを書き出すようにしようというところで、悩みが広がりました。
で、数時間の成果をここでまとめておきます。
(0)予めAPI_KEYを取得しておく
(1)今後も使えるよう簡単な関数を作っておきます
1 2 3 4 5 6 7 8 9 10 11 12 13 | function getRtmSecretKeyParams($params){ $params['api_key']=API_KEY; $params['perms']='delete'; ksort($params); $skey=''; foreach($params as $key=>$val){ $skey .=$key.$val; $urlparams .='&'.$key.'='.$val; } $skey=md5(SECRET_KEY.$skey); $urlparams=substr($urlparams,1); return $urlparams.'&api_sig='.$skey; } |
(2)続いてfrobを獲得する
1 2 3 4 5 6 7 8 9 | define('END_POINT_URL','http://api.rememberthemilk.com/services/rest/'); //get frob $params=array(); $params['method']='rtm.auth.getFrob'; $ret=getRtmSecretKeyParams($params); $ret=file_get_contents( END_POINT_URL.'?'.$ret); $xml=simplexml_load_string($ret); $frob=(string)$xml->frob; echo $frob; //これがfrobの値です |
(3)次に、Tokenを取得します。
ここで、とっても長い時間を使ってしまいました。
(2)の続きでプログラムを進めて構わないのですが、
1 2 3 4 5 6 7 8 9 | define('AUTH_URL','http://www.rememberthemilk.com/services/auth/'); $params=array(); $params['method']='rtm.auth.getToken'; $params['frob']=$frob; $ret=getRtmSecretKeyParams($params); echo "まず承認プロセスを経るためにURLを表示します。これをコピペしてブラウザで表示して下さい\n"; echo AUTH_URL.'?'.$ret."\n"; echo "承認プロセスを経たら、以下のURLを表示させて下さい\n"; echo END_POINT_URL.'?'.$ret ."\n"; |
ここで、最初に表示されるURLをブラウザで表示させ、クリックが必要です!(コレが重要!)
(4)続いて、同じパラメータを利用してTokenを取得です
上記の最後の行で表示したURLを表示します。
これで、tokenが取得できます。
基本これで、OKなのですが、この後は
1 2 | $params['method']='rtm.auth.checkToken'; $params['auth_token']=$token; |
をこなして、tokenを確認させないといけません。
面倒なんですが、こういうものみたいです。
あとは、
1 2 | $params['method']='rtm.tasks.getList'; $params['auth_token']=$token; |
など、自由にいけます。
Tagged with: api • RTM

