即使我在配置中添加了消费者 key 、 secret key ,我仍然收到 401 错误。但相同的配置文件适用于以下内容
TwitterFactory twitterFactory = new TwitterFactory(configuration);
Twitter twitterClient = twitterFactory.getInstance();
但不适合
TwitterStreamFactory twitterStreamFactory = new TwitterStreamFactory(configuration);
TwitterStream twitterStreamClient = twitterStreamFactory.getInstance();
FilterQuery filterQuery = new FilterQuery(followersId);
twitterStreamClient.addListener(statusListener);
twitterStreamClient.filter(filterQuery);
我收到的错误为
[Twitter Stream consumer-1[Establishing connection]] INFO - 401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret, access token/secret, and the system clock is in sync.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error 401 Unauthorized</title>
</head>
<body>
<h2>HTTP ERROR: 401</h2>
<p>Problem accessing '/1.1/statuses/filter.json'. Reason:
<pre> Unauthorized</pre>
</body>
</html>
当我打印 System.out.println(twitterStreamClient.getOAuthAccessToken().getTokenSecret());
时,它会显示 accesstoken secret 值。我对此感到困惑。有人可以帮助我吗?
最佳答案
您必须将消费者 key / secret 和访问 token / secret 放在 twitter4j.properties 中,并将其放在项目的 src 包中。之后写
TwitterStream ts = new TwitterStreamFactory().getInstance();
您是否已将 lib/twitter4j-stream-3.0.3.jar 添加到您的库中?
关于java - 创建 twitterstream 时出现 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836020/