GAE の API に、Google のユーザ情報と連携する機能があるけど、あれって何に使えばいいんだろうか。
- API の作りとしてはメールアドレスが ID の代わりになっていて、メールアドレスに対応しているユーザの情報を取得するとか、逆にユーザのメールアドレスを取得したりできるようになっている。にも関わらず、ドキュメントに「メールアドレスは変更ができたり、変更した後に同じアドレスを別の人が使うかもしれないから、この API を認証に使わないでくださいにゃーん」みたいなことが書いてある。
- メールアドレスっていっても、あくまで Google アカウントのログイン時に使う文字列 (なんちゃら@gmail.com とか) なので、実際にメールの送受信に使われているかどうかはわからない。それだったら、わざわざ Google アカウントと連携しなくても、「メールアドレスを入力してください」で済むじゃん。
- ユーザ情報っていうと色々使えそうに聞こえるけど、メールアドレス以外にはニックネームくらいしか取得できないので、せいぜい「ようこそ Bob さん」みたいな表示をするくらいしかできない。
Google では実際にメールアドレスをキーにしてユーザ情報を管理しているのかもしれない。で、Google 内では様々な運用 (例えば、メールアドレスが変更されたらその情報を各サービスに伝達するバッチ処理が定期的に実行されているとか) でその弱点を回避してるのではないか。GAE のは、(おそらくはプライバシー保護のために) API だけ公開して運用をセットにしなかったから、やたら中途半端になった、と。
そう考えると、以前にネットで話題になっていた、「Google アカウントを削除しても、Google サーバ上の情報が削除されない」という問題も、原因わかったような気がしてきますよね。