我似乎无法获得第一个Twitter4J代码示例(Twitter上的简单帖子)。 UpdateStatus(字符串)未定义

时间:2015-01-10 23:11:57

标签: twitter twitter4j

所以现在这是我的问题:

我去了http://twitter4j.org/en/code-examples.html因为我刚刚开始使用twitter4j(据我记得的版本4.0.2)而且我想尝试编写示例以获得对T4J的基本了解。 但是,似乎我甚至无法获得第一个工作示例。这是我现在的代码:

import twitter4j.Status;

导入twitter4j.TwitterFactory;

public class Twitter {

public static void main(String[] args) {

    String latestStatus="Test";

    Twitter twitter = (Twitter) TwitterFactory.getSingleton();
    Status status = twitter.updateStatus(latestStatus);
    System.out.println("Successfully updated the status to [" + status.getText() + "].");
}

}

这正是我在代码示例中找到的代码(加上应该最终成为状态的字符串)。但是,我总是在Status status = twitter.updateStatus(latestStatus)中收到错误,基本上就是这样:

The method updateStatus(String) is undefined for the type Twitter

我真的不知道这里有什么不妥。我的意思是最后它是官方代码示例。甚至官方文档也使用字符串作为该方法的参数。

任何人都可以帮助我吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

你需要做几件事来使这段代码有效 - 首先,您需要在Twitter上注册您的应用并生成OAuth身份验证。您将获得以下信息 - consumerkey,consumersecret,accesstoken和accesstokensecret。

使用密钥和密钥,您将创建一个Twitter实例,您可以使用它来访问您的Twitter用户ID。

其次,您需要授权您的应用能够写入更新默认权限为只读。

您可以在https://apps.twitter.com/

注册和管理您的应用

关于twitter $ j库版本,请使用最新版本。

以下是使用身份验证密钥并更新状态的代码段 -

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
        .setOAuthConsumerKey("consumerKey")
        .setOAuthConsumerSecret("consumerSecret")
        .setOAuthAccessToken("accessToken")
        .setOAuthAccessTokenSecret("accessTokenSecret");

Twitter twitter = new TwitterFactory(cb.build()).getInstance();

Status status = twitter.updateStatus("test");

希望这有用。

答案 1 :(得分:0)

这种情况正在发生,因为您的课程称为Twitter,所以

Twitter twitter = new TwitterFactory(cb.build()).getInstance();

将被解释为您尝试创建类Twitter的实例,而不是twitter4j.Twitter的实例。您可以将类的名称更改为其他名称,或将库Twitter实例更改为twitter4j.Twitter实例以指定差异。