「Twitterでログインする」?

TwitterBOTを作っています。
その過程で、以前、TwitterのAPIをOAuthで使ってみる(入門)なんて記事を書きました。


で、新機能のデバッグ中、「Twitterでログインする」というチェックボックスが空なのに気付き、これが何を意味するか調べたのでメモしておきます。

アプリ設定画面

20100811164357



Default Access type:
○Read & Write ○Read-only
あなたのアプリケーションに必要とされるアクセスの種類は何ですか?
(What type of access does your application need?)
注記: @Anywhereアプリケーションには読み#amp;書きの許可が必要です。
Twitterでログインする:
□はい、Twitterをログインに使用します。
(Yes, use Twitter for login.)
あなたのアプリケーションはTwitterを認証で使用する予定ですか?
(Does your application intend to user Twitter for authentication?)

Twitterアプリケーションの設定画面を開くと、このような画面が開きます。


「必要とされるアクセスの種類」は、わかります。
ただ「Twitterでログインする」は、日本語が微妙なだけにわかりません。


とりあえず、画面の表示になにが変わってくるのかを確認してみました。

Twitterの認証画面

20100811153057



アプリケーションが、あなたのアカウントへの接続を要求しています。
OTTAbotが開発したOTTAbotというアプリケーションは、Twitter上にあるあなたに関連するデータに[アクセス|アクセスしたり、データーを更新]しようとしています。[-|このアプリケーションは将来、あなたに代わってTwitterにログインする予定です]ottabot以外のアカウントと連携したい場合にはログアウト してください
OTTAbotによるアクセスを許可しますか?

2種類×2選択肢=計4つの表示の違いを撮ってみました。


Default Access typeによる違いはわかりやすいですね。


一方「Twitterでログインする」による違いは、「このアプリケーションは将来、あなたに代わってTwitterにログインする予定です」の表示のオンオフという違いです。この「このアプリケーションは将来、あなたに代わってTwitterにログインする予定です」という意味がよくわかりません。


英語版では、以下のようになっています。
こちらの方がまだわかりやすいです。



This application plans to use Twitter for logging you in in the future.


この妙な日本語が表示されるのは避けたいので、現在はチェックボックスをオフにしていますが、Twitterで認証する(ユーザーを一意に特定する)ことはできています。
つまり「Default Access type」とは異なり、API上の機能の違いは今のところなさそうですが、なんのためのフラグなんでしょうねぇ……。

ちなみに

バグの原因は、上記とはまったく関係がなく、https://twitter.com/account/verify_credentials.xmlのuser_screen_name(ユーザー名…Twitterの各ユーザーのページのURLにも用いられているもの)とname(名称)を逆に取り違えて書いていたためでした。


手元のアカウントが全て、ユーザー名=名称だったので、私の手元では再現しないけど、他のユーザーの手元では失敗する結果となったため、なかなか問題解決に至りませんでした。恥ずかしすぎる……。