使用 google 的Oauth 2 Playground,可以证明:
- 如果您只选择 google OAuth api v2 范围,并使用此处标题中的 url 获取电子邮件,那么您将获得 gmail 地址。
- 另一方面,如果您选择该范围和 youtube 范围https://www.googleapis.com/auth/youtube,那么您将获得 google+ 电子邮件地址,而不是 gmail 地址。
发生这种情况似乎令人不安;我想使用 gmail 地址来识别应用程序中的用户。无论范围的组合如何,我怎样才能每次都获得 gmail 地址?我不想让用户登录两次(一次是为了获取 youtube api v3 的令牌,一次是为了获取一个令牌以从 Oauth api v2 获取 gmail 地址。
另外,另一个烦恼;在“应用程序想要”屏幕中,/auth/userinfo.email 范围导致我们被告知应用程序想要“查看您的电子邮件地址”“知道您在 Google+ 上的身份”......我真的会而是它没有导致后者!