我能';Twitter4J的第一个代码示例(Twitter上的简单帖子)似乎无法正常工作。UpdateStatus(字符串)未定义

我能';Twitter4J的第一个代码示例(Twitter上的简单帖子)似乎无法正常工作。UpdateStatus(字符串)未定义,twitter,twitter4j,Twitter,Twitter4j,这就是我现在的问题: import twitter4j.Status; 我刚开始使用twitter4j(据我记忆所及的版本为4.0.2),我想尝试编写示例代码,以获得对T4J的基本理解。 然而,我似乎连第一个例子都做不到。这是我现在的代码: import twitter4j.Status; 导入twitter4j.TwitterFactory public class Twitter { public static void main(String[] args) { Strin

这就是我现在的问题:

import twitter4j.Status;
我刚开始使用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
我真的不知道这里会出什么问题。我的意思是最终它是官方代码示例。甚至官方文档也使用字符串作为该方法的参数

谁能帮我一把吗


提前感谢。

要使此代码正常工作,您需要做几件事- 首先,您需要在Twitter上注册应用程序并生成OAuth身份验证。您将获得以下内容-consumerkey、ConsumerCret、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");

希望这对你有帮助。

这是因为你的课叫Twitter,所以

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

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

是否将JAR文件添加到构建路径?您好!谢谢你迄今为止的帮助。我已经注册了我的应用程序,之前我通过属性文件进行了身份验证。我现在尝试了你的方法,但仍然出现了“类型不匹配:无法从twitter4j.Twitter转换为Twitter”错误,这次是在新的TwitterFactory行中。到目前为止,我用最新的稳定版本4.0.2和最新的快照4.0.3进行了尝试。我在两个版本中都遇到了错误。@StefanSchranz-您确定包含了正确的包来解析Twitter对象吗?版本在这里不应该是一个问题。我已更新了上面的代码以包含导入。@StefanSchranz-您也可以尝试此状态状态=新建TwitterFactory(twitterConfigBuilder.build()).getInstance().updateStatus(“测试”);好的,试着像下面这样更改twitter实例定义,注意我为twitter类使用了一个完全限定的名称-twitter4j.twitter=newTwitterFactory(cb.build()).getInstance();您需要授权应用程序才能写入更新默认权限为只读,请检查上“管理应用程序”部分的“权限”选项卡