我似乎无法让第一个 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、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");
希望这对您有所帮助。
发生这种情况是因为您的 class 被称为 Twitter,所以
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
将被解释为您试图创建 class Twitter
的实例,而不是 twitter4j.Twitter
的实例。您可以将 class 的名称更改为其他名称,或将库 Twitter
实例更改为 twitter4j.Twitter
实例以指定差异。
所以这是我现在的问题:
我去了 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、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");
希望这对您有所帮助。
发生这种情况是因为您的 class 被称为 Twitter,所以
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
将被解释为您试图创建 class Twitter
的实例,而不是 twitter4j.Twitter
的实例。您可以将 class 的名称更改为其他名称,或将库 Twitter
实例更改为 twitter4j.Twitter
实例以指定差异。