我似乎无法让第一个 Twitter4J 代码示例(Twitter 上的简单 post)工作。更新状态(字符串)未定义

I can't seem to get the first Twitter4J code example (Simple post on Twitter) to work. UpdateStatus(string) is undefined

所以这是我现在的问题:

我去了 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

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

谁能帮帮我?

提前致谢。

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

希望这对您有所帮助。

发生这种情况是因为您的 class 被称为 Twitter,所以

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

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