ser*_*nni 11 twitter integration key twitter4j
尝试使用twitter4j lib 将我的webapp与Twitter集成.
我已经注册了我的Twitter网站的应用程序,并获得Consumer key和Consumer secret值.
没什么特别的,标准的OAuth步骤.
码:
public class TwitterService {
private final String CONSUMER_KEY = "xxx";
private final String CONSUMER_SECRET = "yyy";
public String fav() {
Twitter twitter = TwitterFactory.getSingleton();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
...
Run Code Online (Sandbox Code Playgroud)
例外:
Caused by: java.lang.IllegalStateException: consumer key/secret pair already set.
Run Code Online (Sandbox Code Playgroud)
我没有更多配置key和secret,任何.properties或其他文件.
编辑:
注释行twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);导致异常:
java.lang.IllegalStateException: OAuth consumer key/secret combination not supplied
Run Code Online (Sandbox Code Playgroud)
Ara*_*xia 30
查看代码和文档,看起来Twitter不推荐使用实例化实例的方法.如果你想以编程电源配置(而不是使用属性),它看起来像你需要提供Configuration的TwitterFactory.
... ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(CONSUMER_KEY); builder.setOAuthConsumerSecret(CONSUMER_SECRET); Configuration configuration = builder.build(); TwitterFactory factory = new TwitterFactory(configuration); Twitter twitter = factory.getInstance(); ...
由未提供配置的工厂提供的单例默认使用Authorization由PropertyConfiguration配置支持的实现.如果没有属性文件,看起来它不应该实例化OAuthAuthorizationauth,这将导致您看到的异常.但是PropertyConfiguration,搜索整个CLASSPATH相应的属性文件,所以也许你忽略了一个.您可以在获取Twitter实例后立即尝试记录密钥和密钥以查看它们的设置:
System.out.println("key:" + twitter.getConfiguration().getOAuthConsumerKey());
System.out.println("secret: " + twitter.getConfiguration().getOAuthConsumerSecret());
| 归档时间: |
|
| 查看次数: |
11419 次 |
| 最近记录: |