【问题标题】:How do I get an email address from users in 'Twitter4J'?如何从“Twitter4J”中的用户那里获取电子邮件地址?
【发布时间】:2016-06-06 10:12:15
【问题描述】:

我很高兴现在我们可以使用“Twitter4J”从用户那里获取电子邮件地址。

但是,我的问题是我无法使用从用户那里获取电子邮件的功能。 我的服务器(基于 Spring)一直在使用带有“maven 依赖”的 Twitter4J。 我正在使用 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'。 我认为这种方式不能带来最近在github上传的最新版本的Twitter4J。

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

非常感谢任何帮助,在此先感谢。

【问题讨论】:

    标签: java maven twitter twitter4j


    【解决方案1】:

    首先,您需要将您的应用列入白名单,来自documentation

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

    如果您获得许可,您需要设置ConfigurationBuildersetIncludeEmailEnabled(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 中上线

    所以,如果您有旧版本并需要获取电子邮件,请升级

    【讨论】:

    • 我向 Twitter 提出了请求,我的应用程序获得了可以通过这种方式获取电子邮件地址的许可 - stackoverflow.com/a/32852370/5973095
    • 对于任何在 2016 年 10 月 4 日或之后阅读本文的人,这是在 Twitter4j 4.0.5 中我必须从 mvnrepository.com/artifact/org.twitter4j 获取罐子,因为官方文档尚未更新,但我认为很快就会了。
    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多