这似乎是一个永无止境的故事,但我无法从Twitter4J流API访问Twitter。
我创建了一个Twitter帐户,并将时区更改为我的祖国
我在Twitter上创建了一个应用程序
我使用Twitter4J Streaming API 4.0.0在Java / Maven中创建了ClientApp
我将Api密钥,秘密密钥和访问令牌放置在配置生成器中
我从Twitter获得异常
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true);
cb.setOAuthConsumerKey("xxxxxxxxxx");
cb.setOAuthConsumerSecret("xxxxxxxxxxx");
cb.setOAuthAccessToken("xxxxxxxxxxxxx");
cb.setOAuthAccessTokenSecret("xxxxxxxxxxxx");
TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
StatusListnerImpl statusListenerImpl = new StatusListnerImpl();
twitterStream.addListener(statusListenerImpl);
twitterStream.sample();
401:身份验证凭据(https://dev.twitter.com/pages/auth)丢失或不正确。确保已设置有效的使用者密钥/秘密,访问令牌/秘密,并且系统时钟处于同步状态。
请帮忙。
最佳答案
为了简洁起见,我建议在project_name / resources / twitter4j.properties下创建一个单独的文件,其内容为:
debug=true
##Get the following from https://dev.twitter.com/
oauth.consumerKey=XXX
oauth.consumerSecret=XXX
oauth.accessToken=XXX
oauth.accessTokenSecret=XXX
然后,您可以像下面这样简单地创建一个新的TwitterStream对象:
TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
只要确保属性文件在编译时可用即可。
由于您使用的是maven,请在pom.xml文件中(在build部分中)添加以下代码:
<resources>
<resource>
<directory>${basedir}/resources</directory>
</resource>
</resources>
PS:您可能想隐藏应用程序特定的键/令牌
关于java - 永无止境的故事:Twitter身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40795505/