如何使用推特 API 获取推特用户的电子邮件地址
本文关键字:电子邮件地址 用户 API 何使用 获取 | 更新日期: 2023-09-27 18:32:57
我想在我的网站上安装一个插件来"使用推特登录",在用户允许我的推特应用程序访问他们的数据后,我的网站需要获取用户的推特ID和电子邮件。我浏览了Twitter开发文档,但似乎总是关于OAuth的复杂示例。有没有简单的方法可以做到这一点?我已经为Facebook放置了相同类型的插件,而且非常简单。谢谢!
如果 Twitter 不提供任何 API,那么 foursquare 如何检索它们?
- Foursquare
- 规定列出用户在Twitter上注册的Foursquare朋友。
- 它还提供了API,显示通常出现在"四方朋友列表"中的用户的朋友以及用户的"Twitter关注者列表"。
在上述两种情况下,只能通过电子邮件进行比较。
你无法获得Twitter用户的电子邮件地址。Twitter不提供它:https://dev.twitter.com/docs/faq#6718
来自 Twitter api FAQhttps://dev.twitter.com/docs/faq
如何获取用户的电子邮件地址?
如果您想要用户的电子邮件地址,则需要向用户询问该地址 在您自己的应用程序和服务的范围内。推特 API 不提供用户的电子邮件地址作为 OAuth 的一部分 代币谈判过程 也没有提供其他方式来获得它。
https://dev.twitter.com/rest/reference/get/account/verify_credentials请求用户的电子邮件地址
请求用户的电子邮件地址需要你的应用程序被 Twitter 列入白名单。要请求访问,请使用此表格。
列入白名单后,"向用户请求电子邮件地址"复选框将在您的应用权限下显示 apps.twitter.com。隐私政策 URL 和服务条款 URL 字段也将在电子邮件访问所需的设置下可用。如果启用,用户将通过 oauth/授权对话框收到通知,你的应用可以访问其电子邮件地址。
转到 https://support.twitter.com/forms/platform选择"我需要访问特殊权限"输入应用程序名称和 ID。这些可以通过 https://apps.twitter.com/获得 - 应用程序 ID 是单击应用程序后浏览器地址栏中的数字部分。权限请求:"电子邮件地址"提交并等待回复授予你的请求后,系统会在 Twitter 应用的"权限"部分添加添加权限设置。转到"其他权限",然后勾选"向用户请求电子邮件地址"复选框。
Twitter不提供电子邮件地址,这就是为什么许多使用OAuth的网站没有实现Twitter的原因;因为用户的电子邮件地址是注册过程的一部分。
通过Twitter获取电子邮件,Twitter不会在API响应中提供电子邮件。
请参阅官方推特 API 链接:
我正在研究C#.Net,我使用了Tweetinvi API,它易于使用并且有一个很好的文档。
为了回答您的问题,可以获取用户的电子邮件和所有数据。
第一:你需要在"apps.twitter.com"上创建你的Twitter应用程序并注册它。然后在应用程序管理中,您会找到一个"权限"选项卡,在页面末尾有一个复选框,说明您是否需要电子邮件信息。您必须提供指向隐私条款的链接,以便用户可以阅读并同意与您的应用共享信息,您可以使用"https://google.com",但建议提供有效的链接。
仅此而已。在代码中,您只需对用户进行身份验证并获取所需的数据。
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;
/// <summary>
/// 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.
/// </summary>
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);
}
/// <summary>
/// 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.
/// </summary>
/// <param name="pin">PIN del usuario</param>
/// <returns>IAuthenticatedUser devuelve el usuario autenticado y con todos los datos.</returns>
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);
}
}
}
}
</code>
如果你有什么问题问我