Twitter oauth推特和电子邮件

Twitter oauth推特和电子邮件,twitter,oauth,Twitter,Oauth,在用户通过oauth登录后,是否可能收到用户电子邮件?也许佩奇可以问他是否想在我的应用程序中分享他的电子邮件?或者任何允许的信息是通过url返回的(没有电子邮件)?否。出于安全原因,Twitter api不共享电子邮件地址 更新:Twitter增加了这个功能 对于任何感兴趣的人来说,这不再是事实 按照本回答中的指南为您的Twitter应用程序申请特殊权限(电子邮件访问): 您需要在应用程序中提供有关使用条款和隐私政策的链接。然后在“权限”选项卡上,您可以检查用户的勾选请求电子邮件地址 现在,当

在用户通过oauth登录后,是否可能收到用户电子邮件?也许佩奇可以问他是否想在我的应用程序中分享他的电子邮件?或者任何允许的信息是通过url返回的(没有电子邮件)?

否。出于安全原因,Twitter api不共享电子邮件地址


更新:Twitter增加了这个功能

对于任何感兴趣的人来说,这不再是事实

按照本回答中的指南为您的Twitter应用程序申请特殊权限(电子邮件访问):

您需要在应用程序中提供有关使用条款和隐私政策的链接。然后在“权限”选项卡上,您可以检查用户的勾选请求电子邮件地址

现在,当您查询Twitter API时,将“?include_email=true”附加到url(因此完整的url将是“”)。twitter文档中描述了该参数:

您可以使用此url修改更新python social auth库中的twitter.py后端,它也可以工作;)

从twitter.py后端的第35行开始:

def user_数据(self、access_令牌、*args、**kwargs):
“”“返回提供的用户数据”“”
返回self.get_json(
'https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true',
auth=self.oauth\u auth(访问令牌)
)
并包括回复。获取('email','')上面的几行:

def获取用户详细信息(自我、响应):
“”“从Facebook帐户返回用户详细信息”“”
全名、名、姓=self.get\u用户名(
response.get('name',''),
response.get('first_name',''),
response.get('last_name','')
)
返回{'username':response.get('username',response.get('name'),
'email':response.get('email',''),
“全名”:全名,
“名字”:名字,
“姓氏”:姓氏}

我正在通过
C
使用
twitterizzer
。我的应用程序已经被列入白名单,因此理论上我可以获得登录的用户电子邮件

我这样做:

OAuthTokenResponse response = OAuthUtility.GetRequestToken(key, secret, myurl); 
Uri authorizationUrl = OAuthUtility.BuildAuthorizationUri(response.Token);
Response.Redirect(authorizationUrl.AbsoluteUri);
当我收到代币时:

OAuthTokenResponse response = OAuthUtility.GetAccessToken(key, secret, receivedToken, receivedVerifier);
此响应具有
UserId
SreenName

我在电子邮件代码中遗漏了什么


谢谢

现在您可以获得twitter用户的电子邮件地址。
签出完整过程

可能重复的步骤是否真的与安全有关?我的愤世嫉俗者更可能相信这是关于用户所有权的。如果用户同意,几乎所有其他类似的服务提供商都会共享电子邮件。我想可能是这样。最终结果是一样的。根据记录,最新版本的python social auth已经做到了这一点(当前版本为0.2.21)。在修订版96fc4d1中进行了更改。