如何使用twitter api获取twitter用户的电子邮件地址

我想在我的网站上插入“使用twitter登录”,我的网站需要在用户允许我的Twitter应用程序访问他们的数据后获取用户的twitterID和电子邮件。 我浏览了一下twitter开发文档,但似乎总是关于带有复杂示例的OAuth。 是否有捷径可寻? 我已经为facebook添加了相同类型的插件,而且非常简单。 谢谢!

如果twitter没有提供任何API,那么foursquare如何检索它们呢?

  • Foursquare提供了列出用户的foursquare-朋友谁已经注册twitter。
  • 它还提供API,显示通常出现在“foursquare朋友列表”中的用户的朋友以及用户的“推特粉丝列表”。

在上述两种情况下,只能通过电子邮件进行比较。

您无法获得Twitter用户的电子邮件地址。 Twitter没有提供它: https : //dev.twitter.com/docs/faq#6718

来自twitter api FAQ https://dev.twitter.com/docs/faq

如何获取用户的电子邮件地址?

如果您想要用户的电子邮件地址,则需要在您自己的应用程序和服务范围内询问用户。 Twitter API不提供用户的电子邮件地址作为OAuth令牌协商过程的一部分,也不提供其他方法来获取它。

https://dev.twitter.com/rest/reference/get/account/verify_credentials申请用户的电子邮件地址

请求用户的电子邮件地址要求您的应用程序被Twitter列入白名单。 要请求访问权限, 请使用此表单 。

一旦列入白名单,就会在apps.twitter.com上的应用权限下显示“向用户请求电子邮件地址”复选框。 隐私政策URL和服务条款URL字段也将在电子邮件访问所需的设置下提供。 如果启用,将通过oauth / authorize对话框通知用户您的应用可以访问其电子邮件地址。

转到https://support.twitter.com/forms/platform选择“我需要访问特殊权限”输入应用程序名称和ID。 这些可以通过https://apps.twitter.com/获得 – 应用程序ID是您单击应用程序后浏览器地址栏中的数字部分。 权限请求:“电子邮件地址”提交并等待响应在您的请求被授予后,您的Twitter应用程序的“权限”部分中会添加一个添加权限设置。 转到“其他权限”,然后勾选“请求用户的电子邮件地址”复选框。

Twitter没有提供电子邮件地址,这就是许多使用OAuth的网站没有实现Twitter的原因;因为用户的电子邮件地址是注册过程的一部分。

没有办法通过Twitter获取电子邮件,Twitter不提供api响应中的电子邮件。

看官方twitter api链接:

我正在使用C#.Net,我使用了Tweetinvi API,它易于使用并且具有良好的文档。

那么回答你的问题,可以获得用户的电子邮件和所有数据。

第一:您需要在“apps.twitter.com”上创建您的Twitter应用并注册。 然后在应用管理中,您将找到“权限”选项卡,在页面的末尾有一个复选框,显示您是否需要电子邮件信息。 您必须提供指向您的隐私条款的链接,以便用户可以阅读并同意与您的应用分享信息,您可以使用“ https://google.com ”,但建议您提供有效的链接。

就这样。 在代码中,您只需要对用户进行身份validation并获取所需的数据。

 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Tweetinvi; using Tweetinvi.Models; namespace APIS { public class TwitterConfig { IAuthenticationContext authenticationContext; ///  /// Le indica a twitter que va a hacer una consulta de crendenciales. Esta consulta va a generar un PIN en caso de que sea correcto /// y el usuario tiene que digitar el pin. ///  public void RequestForCredentials() { var appCredentials = new TwitterCredentials("CONSUMER-KEY", "CONSUMER-SECRET"); //GET THE CONSUMER INFORMATION ON THE TWITTER APP MANAGEMENT authenticationContext = AuthFlow.InitAuthentication(appCredentials); //This opens a web-browser and asks to the twitter client //to accept the terms, and twitter gives a code and the user // have to introduce it on the app (use the AuthByPin(String pin) method ) //Thats the PIN for auth the user and then get the data Process.Start(authenticationContext.AuthorizationURL); } ///  /// Metodo que solicita un PIN que un usuario de Twitter al aceptar las condiciones se le brindó y este lo introdujo en la app /// para ser autenticado. ///  /// PIN del usuario /// IAuthenticatedUser devuelve el usuario autenticado y con todos los datos. public IAuthenticatedUser AuthByPin(String pin) { try { // Con este código PIN ahora es posible recuperar las credenciales de Twitter var userCredentials = AuthFlow.CreateCredentialsFromVerifierCode(pin, authenticationContext); // Use las credenciales del usuario en su aplicación Auth.SetCredentials(userCredentials); var user = User.GetAuthenticatedUser(); return user; } catch (Exception e) { Console.WriteLine(e); throw new ApplicationException("Problema al autenticar.", e); } } } }  

如果你有一些问题请问我