2010年6月8日火曜日

TwitterStreamingAPIのOAuthでハマリ中

TwitterStreamingAPIのOAuthでハマリ中...です。
/1/statuses/filter.json?track={パラメータ} で、Streamの情報を取得しているのですが、
OAuthにすると、スペースの含むパラメータ、日本語のパラメータ を指定すると認証エラーになっちゃいます。

現状のパターンはこんな感じ。

█パターン1
パラメータ : iPad
sigBaseでのパラメータ : track%3DiPad
URL : GET /1/statuses/filter.json?track=iPad HTTP/1.1

→ 取得OK


█パターン2
パラメータ : iPad Apple
sigBaseでのパラメータ : track%3DiPad%2520Apple
GET /1/statuses/filter.json?track=iPad%20Apple HTTP/1.1

→ 取得NG 401が返る

█パターン3
パラメータ : iPad&Apple
sigBaseでのパラメータ : track%3DiPad%2526Apple
GET /1/statuses/filter.json?track=iPad%26Apple HTTP/1.1

→ 取得OK

█パターン4
パラメータ : iPad+Apple
sigBaseでのパラメータ : iPad%252BApple
GET /1/statuses/filter.json?track=iPad%2BApple HTTP/1.1

→ 取得OK

█パターン4
パラメータ : 日本
sigBaseでのパラメータ : track%3D%25E6%2597%25A5%25E6%259C%25AC
GET /1/statuses/filter.json?track=%E6%97%A5%E6%9C%AC HTTP/1.1

→ 取得NG 401が返る

Basic認証だったら、スペース/日本語ともに取得できたんだけどなぁー。
何か分かる人がいたら教えて下さい><

2010/10追記
現在は上手く動くようになっているようです! Twitter側のバグだったんでしょうねw
• • •