0

我正在使用 Flask dance 来验证用户身份(使用 Google 作为身份验证提供者)我尝试获取用户电子邮件并尝试了几个选项 - 他们都没有返回电子邮件。

代码片段:(google is flak-dance Google blue print)

   if not google.authorized:
            return redirect(url_for("google.login"))
   else:
       resp = google.get(url)

我尝试了以下网址:

  1. https://openidconnect.googleapis.com/v1/userinfo

  2. https://www.googleapis.com/auth/userinfo.email

  3. https://www.googleapis.com/oauth2/v3/userinfo

  4. https://www.googleapis.com/oauth2/v3/tokeninfo

我正在使用范围:scope=["profile", "email"]创建 Google 蓝图时。我得到的数据结构是:

{'sub': 'XYZ', 'name': 'XYZ', 'given_name': 'XYZ',
 'family_name': 'XYZ', 'picture': 'XYZ', 'locale': 'XYZ'}

在页面https://console.cloud.google.com/apis/credentials/consent的“OAuth 同意屏幕”页面下的“Google API 范围”部分下,我有以下条目:

  • 电子邮件
  • 轮廓
  • 打开ID

我的问题是:

如何获取上述字段用户的电子邮件?

谢谢

4

1 回答 1

1

这就是我获取用户电子邮件的方式:(加上其他一些字段)

https://www.googleapis.com/oauth2/v2/userinfo?fields=id,email,name,picture

于 2019-08-16T14:03:08.453 回答