2013年1月31日木曜日

TwitterのoAuthで"Read, Write and Access direct messages"してもDMが使えない場合の対応

Twitterに連携するアプリからDMを使いたい場合は、https://dev.twitter.com でアプリを作って、"Read, Write and Access direct messages"を設定します。
しかしながら、時にその設定をしたとしても、ユーザが「ダイレクトメッセージを見る。」を許可されない場合があります。
その時は、oAuthの、twitterのログインページのURLを確認してみてください。
oAuthのログインURLは2パターンあって、
https://api.twitter.com/oauth/authorize
と、
https://api.twitter.com/oauth/authenticate
があります。
前者ならばDMは使えますが、後者は使えません。
Twitter4jを使っている場合は、前者はgetOAuthRequestToken().getAuthorizationURL()で、後者が、getOAuthRequestToken().getAuthenticationURL()で取得出来ます。前者じゃないと、DMは使えません。

困った場合は、是非お試しあれ。