twitter_api.jsに悩まされる

アプリにツイッターへの投稿機能を埋め込んでいるが、認証失敗になってツイートできない現象が発生。
調べまわったところ、同じ症状の人達がいるらしい。

Twitter API statuses/update.jsonでツイートできない場合の注意点

上記ブログや各所BBSの記事を参考に手を尽くしてみたが、根本的な解決には至っていない。
現時点でなんとなく掴めてきた発生条件と回避手順は次の通り。

  • APIのinit()で認証処理が走ったあとは必ず失敗する(Authentication needed)
  • この時点で(認証が成功していれば)トークンは保存されている
  • 一旦Windowを閉じ、もう一度開き、init()抜きでstatuses_updateを実行すると成功
  • なので、エラーが発生した場合はいったん別な画面に戻り、もう一度画面を開いて投稿すれば成功する(確率が高い?)
  • windowを閉じても発生する場合は、いちどアプリを終了してから起動しなおすとほぼ成功する

twitter認証周りをしっかり理解できていないせいもあって何が起きているのか分かんないけど、とにかくしっくり来ないなぁ。
init()後の認証成功・失敗をイベントで拾えれば、成功したら一旦画面を自動的に閉じるとか、なんとなくそれっぽく誘導できるんだけど・・・。

#追記
一応解決出来たっぽい日記はこちらに