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

Yeo*_*hoi 5 java twitter maven 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>
Run Code Online (Sandbox Code Playgroud)

但是,这种方式无法带来你带来电子邮件的最新功能甚至使用SNAPSHOTBuild Version'.我认为这种方式无法带来最近在github中上传的Twitter4J的最新版本.

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

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

Fea*_*Doe 6

首先,您需要从文档中将您的应用程序列入白名单:

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

如果得到许可,您需要设置的ConfigurationBuilderwtihsetIncludeEmailEnabled(true)

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(cKey);
builder.setOAuthConsumerSecret(cSecret);
builder.setOAuthAccessToken(accessToken.getToken());
builder.setOAuthAccessTokenSecret(accessToken.getTokenSecret());
builder.setIncludeEmailEnabled(true); 
Run Code Online (Sandbox Code Playgroud)

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

User user = twitter.verifyCredentials();
System.out.print(user.getEmail());
Run Code Online (Sandbox Code Playgroud)

正如Patrick Denny指出的那样,这种方法将于2016年10月4日在Twitter4j 4.0.5中发布

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