「【注意喚起】アプリ連携に『登録済みのメールアドレスを取得する』って書いてる!メアドを盗まれる!」というような意見を聞いたので、実際どうなのか試しました。
まえおき
この実験をするにあたり、運営中の自作アプリの利用者のデータを使ったり、そのアプリの権限を変更したりはしていません。実験用にアプリを新規作成し、自分のアカウントだけを使用したので、どうぞご安心ください。
アプリと3権限
まず、通常の方法でアプリケーションを作成します。そして、以下の3つから権限を選択します。
『Read and write』がデフォルトとなっています。
また、レベルが3つしかないため、「プロフィールを更新する、って書いてあるぞ!乗っ取りアプリだ!」と叩かれることがよくあります。本当に(ツイッターを)やめてほしいですね。
https://twitter.com/RIORAO/status/838426428366467073
しかし、どの権限レベルにしても、メールアドレスを取得することはできません。
権限を選択する箇所の下にあります。

プライバシーポリシーと利用規約のページを設定していないとチェックマークをいれることができません。
チェックマークをいれると、アプリ連携の画面に『登録済みのメールアドレスを取得する』が追加されました。
『Read-only』『Read and write』『Read, write, and direct messages』のどのレベルにしても、Additional permissionsだけを個別に追加することができます。
メールアドレスを取得してみる
アカウント情報を取得できるaccount/verify_credentialsのデフォルト状態ではできないので、include_emailをわざわざtrueにする必要があります。(このあたりの説明を適当にしているのは、説明の必要性を感じないからです。)
で、やってみたところ、できました。
「『登録済みのメールアドレスを取得する』って書いてあるけど、実際はメアドが登録されているかどうかがわかるだけなんじゃないの?」と思って実験してみたのですが、取得できました。
ちなみに電話番号は取得できませんでした。
そもそも『できる』と書いてないのに「できません」とあえて書くのは、デマを防ぐためです。
- Trybuzz診断の広告収入や画像の無断使用疑惑について
アプリ連携をしないのに「乗っ取られる!」とデマを流す人もいるぐらいですから大変です。
権限を変更したらどうなる?
あとから『Additional permissions / Request email address from users』をオンにした場合、オンにする前にアプリ連携をしていた人のメールアドレスは取得できませんでした。この実験結果を書いておかないと「自作アプリの利用者のメアドを盗んだんだろ!」と叩かれてしまうので、きちんと書いておきます。
反対に、あとから『Additional permissions / Request email address from users』をオフにした場合は、オフにする前にアプリ連携をしていた人のメールアドレスを取得できました。
つまり、アプリ連携をした当時の権限が適用されるということのようです。
同じアプリを使い続ける場合でも、アプリ連携をする際には、権限が変更されていないか確認するようにしましょう。
アプリ連携を確認する
自分がどのような権限のあるアプリ連携をしたか確認するには、アプリケーション連携を見てください。アプリでは『設定とプライバシー - アカウント - 連携しているアプリ - 各アプリ名をタップ』で確認できます。

メールアドレスが取得できるものには『あなたのメールアドレスにアクセスできます』と書かれてあります。
かつて連携したアプリにそう書いてあって憤慨したとしても、書かれてある説明を読み飛ばしてアプリ連携したのはあなた自身ですので、叩くのはやめましょう。
ちなみに、レイバンのスパムはアプリ連携によるものではなく、リスト型攻撃(大量のパスワードを試してログインしている)です。
まとめ
【更新】アプリ連携の『登録済みのメールアドレスを取得する』とは? https://t.co/hpxfzRIO7N #56station
— 56station (@56station) August 4, 2018