如何从Twitter4J'中获取用户的电子邮件地址?

时间:2016-02-24 08:21:00

标签: java maven twitter twitter4j

我很高兴现在我们可以通过Twitter4J'从用户那里获得一个电子邮件地址。

但是,我的问题是我无法使用带来用户电子邮件的功能。 我的服务器(基于Spring)一直在使用Twitter4J和#maven依赖'。 我使用Twitter4J的主页(http://twitter4j.org/en/index.html)中描述的方式:

<dependencies>
  <dependency>
       <groupId>org.twitter4j</groupId>
       <artifactId>twitter4j-core</artifactId>
       <version>[4.0,)</version>
   </dependency>
   ...
</dependencies>

然而,这种方式无法带来您的最新功能,甚至使用SNAPSHOT Build Version&#39;。 我认为这种方式无法带来最近在github上传的最新版本的Twitter4J。

如何在我的应用程序中使用Twitter4J使用getEmail()函数?

非常感谢任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:6)

首先,您需要从documentation

中将您的应用列入白名单
  

请求用户的电子邮件地址要求您的应用程序被Twitter列入白名单。

如果您获得了权限,则需要设置ConfigurationBuilder setIncludeEmailEnabled(true)

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(cKey);
builder.setOAuthConsumerSecret(cSecret);
builder.setOAuthAccessToken(accessToken.getToken());
builder.setOAuthAccessTokenSecret(accessToken.getTokenSecret());
builder.setIncludeEmailEnabled(true); 

然后,您可以在验证凭据后获取用户邮件

User user = twitter.verifyCredentials();
System.out.print(user.getEmail());

正如Patrick Denny指出的那样,此方法于2016年10月4日在Twitter4j 4.0.5实时

因此,如果您有旧版本并需要收到电子邮件,请升级