PECL::OAuth(1.1.0)でTwitterからInvalid auth/bad request(401)が返ってくる

Twitterのstatusをupdateするとき、何故か特定の文章の投稿時に

Invalid auth/bad request (got a 401, expected HTTP/1.1 20X or a redirect)

が返ってくるというエラーが発生。


他の文章だと投稿できるし、ログインは正常に行われてるので認証も問題ないという状況。
というか、ユーザーさんが投稿できなかったときの文章を教えてくれたからわかったけど、これが無かったら迷宮入りだったかもな…。

で、

http://blog.starbug1.com/archives/804
こちらの記事によると1.1.0はバグ有りっぽい事を書いている。
この記事では1.0.0に戻すといいって書いてるけど、最新版を調べたら1.2.2がリリースされていたので

pecl upgrade

して、1.2.2にしたところ、エラーが発生しなくなった。

2011/8/7追記
→嘘、直ってなかった…。やっぱり特定の文章でpostに失敗する。
後で検証コード書く


どのバージョンの時点で解消されてたのかまでは調べてないけど、
http://pecl.php.net/bugs/bug.php?id=22834
このバグが原因だとしたら、1.2.1でも発生してたって事なんかな。

というわけで

とりあえずPECL::OAuthを使ってるのなら早めに1.2.2にupgradeしといた方が無難かも。