Twitter API で つぶやきの投稿をしようとすると 401エラーが返ってくる

Twitter API で つぶやきの投稿をしようとすると 401エラーが返ってくる


 めちゃめちゃハマッたので、覚書しておきたい。
現象: Twitter APIで「つぶやきの投稿」をしようとすると401エラーが返ってくる。パラメータなどは特におかしくないはず。
原因: Twitter側で行うApplication Settingsで「Default Access type」をRead-onlyからRead&Writeに変更しても、うまく反映されないことがある模様。
対策: http://twitter.com/apps から、アプリケーションをいったん削除して登録しなおす。(Consumer Keyなどは書き変わるので、プログラム側に改めて設定する必要がある)
 英語サイトにちょっと情報があったので助かった。 → http://stackoverflow.com/questions/971369/twitter-api-oauth-cant-send-status-updates-getting-401


詳細


 TwitterAPIを利用して「つぶやきの投稿」機能を使いたい場合には、http://twitter.com/apps からアプリケーションを選び、「Edit Application Settings」でDefault Access typeを「Read & Write」にしておく必要がある。


▲アプリケーションの設定


▲読み書きまたは読み込み専用
 ただし、最初から「Read & Write」にしていれば問題なかったのだが、最初「Read-only」にしていて、途中で設定を「Read & Write」に変えた場合には、なんと、この設定が効いていないことがあるのだ。私はこの状態に陥り、二日ほどもやもやしながら過ごした。うーむ、悔しい。
 悔しいので、ちくしょうこのやろうと恨みを込めて、ここに覚書しておくことにしよう。