とりあえずはてなブックマークの問題を解決した。ふしぎなことに、コールバック関数の名前が問題だったようだ。
はてなブックマークのAPIは、JSONPが使える。この時のコールバック関数名は、perlの正規表現、/^\$?[a-zA-Z0-9\[\]\.\_]+$/に一致しなければならないとされている。わたしは、コールバック関数として、hatebu_callbackという名前の関数を使っていた。ところが、どうもこの名前では動かないようだ。確実にブックマークされているURLであっても、hatebu_callback(null)が帰ってきてしまう。色々と試してみたが、hatebu_callbackというコールバック関数名のときだけ、この問題が起こるようだ。なぜだろう。とりあえず、コールバック関数の名前を変更しておいた。
なお、この問題は、すべてのURLで起こるわけではない。その辺も謎だ。どうも2月23日にブックマークされた以降のURLにおこるのではないかと思っている。
しかし、正規表現によるURLのパースは、あまり良い実装とは言えないと思うのだが。
No comments:
Post a Comment