所以现在这是我的问题:
我去了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
我真的不知道这里有什么不妥。我的意思是最后它是官方代码示例。甚至官方文档也使用字符串作为该方法的参数。
任何人都可以帮助我吗?
提前致谢。
答案 0 :(得分:2)
你需要做几件事来使这段代码有效 - 首先,您需要在Twitter上注册您的应用并生成OAuth身份验证。您将获得以下信息 - consumerkey,consumersecret,accesstoken和accesstokensecret。
使用密钥和密钥,您将创建一个Twitter实例,您可以使用它来访问您的Twitter用户ID。
其次,您需要授权您的应用能够写入更新默认权限为只读。
注册和管理您的应用关于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
实例以指定差异。