jsOAuth で気になる点がいくつかある。
- fetchRequestToken()、fetchAccessToken() というメソッドが用意されていて、その名のとおりの働きをするのだが、しかしリクエストが GET 固定なのだ。dropbox では該当する api は POST で投げることになっている(といいつつ、GET で投げても受け付けてはくれる……今のところは)のでちょっと困る。
そういうわけでこれらのメソッドを使わず、下位のメソッド post() を呼ぶしかない。上記の fetch*() でリクエストメソッドを指定できたら嬉しいなー
- リクエストを投げた際にエラーが帰ってきた場合、http のステータスで何のエラーか判断したいのだが、request() は xhr.status を返してくれない。返してくれたら嬉しいなー
- まだ Firefox では動かしていないが、ソースを見る限り、XMLHttpRequest を生成する箇所が
} else if (typeof require !== 'undefined') {
// CommonJS require
try {
XHR = new require("xhr").XMLHttpRequest();
} catch (e) {
// module didn't expose correct API or doesn't exists
if (typeof global.XMHttpRequest !== "undefined") {
XHR = new global.XMLHttpRequest();
} else {
throw "No valid request transport found.";
return null;
}
}
}
というような感じなので、たぶん Add on SDK 下ではたぶんエラーになる。SDK では
require("api-utils/xhr");
なのだ。Add on SDK に対応してもらえるか、xhr のファクトリを外に出してくれると嬉しいなー