使用 Django 和 django-allauth 获取新用户的 Twitter 电子邮件地址

Getting a new user's Twitter email address with Django and django-allauth

我正在使用最新版本的 django-allauth 和 Django 1.8。

我有一个需要电子邮件地址的自定义用户模型。

当有人通过连接他们的 Twitter 帐户创建新用户时,allauth 会要求他们(在 OAuth 连接成功后)提供他们的电子邮件地址。

Allauth 与 Facebook 或 Google 没有任何问题。

我简要探索了如何将电子邮件预填充添加到我的自定义适配器(对 DefaultSocialAccountAdapter 进行了一些小改动),但用户的电子邮件地址甚至不在 extra_data.

Twitter 是否故意不允许您获取用户的电子邮件地址?它确实打断了我的应用程序流程,因为它要求用户确认他们的电子邮件地址,这首先是使用社交登录的一半!

谢谢。

我想在你使用 django-allauth 之前,你可能需要看看这个 verify_credentials

此外,您还必须填写表格并获得 Twitter 的批准。