Toodledo APIを使う方法
TODOサービスにToodledo
を使っているのですが、
勉強用にAPIを使ったAIRのクライアントソフトを作ってみようと思います。
開発環境はフリーのAIR GEAR
を使います。
ToodledoAPIを利用するためには、まずkeyを取得する必要があります。
今回はkeyを取得するまでの流れをメモしておこうと思います。
keyを取得するために、まずは自分のuseridを確認します。
useridは、メイン画面左メニューのTools & Servicesページの一番下にあるDevelopers APIの詳細画面で確認できます。
Your unique useridと書かれたところにある文字の羅列がuseridになります。
これはAPIで取得することもできます。
次にこれを使ってtokenを得ます。
ActionScriptだと以下のようなコードで得ることができます。
private function loadXML():void {
// tokenを得るAPIをたたく
var getTokenRequest:URLRequest = new URLRequest("http://api.toodledo.com/api.php?method=getToken;userid=" + UniqueUserId + ";");
var getTokenLoader:URLLoader = new URLLoader();
getTokenLoader.load(getTokenRequest);
getTokenLoader.addEventListener(Event.COMPLETE, onCompleteGetToken);
}
/**
* 取得できたXMLからTokenを得る
*/
private function onCompleteGetToken(event:Event):void {
ReadyToken = true;
// tokenの抽出
var loader:URLLoader = URLLoader(event.target);
var tokenXML:XML = XML(loader.data);
trace(tokenXML);
Token = tokenXML.toString();
}
tokenを得たら先ほど確認したuseridとパスワードを組み合わせてkeyを得ます。
が、この時パスワードと連結した全体の文字列をMD5ハッシュする必要があります。
ActionScriptの場合、以下のライブラリを使ってMD5ハッシュできるようになります。
as3corelib
※私の場合このライブラリを使いました。他にもあるかもしれません。
DLしたswcファイルをプロジェクトの外部ライブラリとして指定します。
ファイルのimport文は以下の通り。
import com.adobe.crypto.*;
これを使って以下のようにMD5ハッシュし、keyを生成します。
/**
* keyを得る(ハッシュしたパス+Token+UserId)
*/
private function getKey():void {
Key = MD5.hash(MD5.hash(PassWord) + Token + UserId);
}
これでkeyを使ったAPIが使えます。