Hui*_*ege 0 oauth twitter4j twitter-oauth
我正在开发一个Android应用程序,它允许用户自己配置Twitter消费者密钥和秘密(未配置访问令牌和访问令牌秘密).我想在显示登录页面之前验证如下所示的密钥和密码,但它会引发异常:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(key, secret);
try {
User user = twitter.verifyCredentials(); // this line throws an exception
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
例外是:
Twitter凭据验证fails.java.lang.IllegalStateException:缺少身份验证凭据.有关详细信息,请参见 http://twitter4j.org/en/configuration.html
有没有办法验证没有访问令牌和访问令牌访问的消费者密钥和密钥?
您遇到的异常消息非常清楚:
验证凭据丢失.
在尝试以编程方式访问Twitter API之前,您需要首先正确进行身份验证.仅使用setOAuthConsumer(key, secret)不设置/配置必要的访问令牌信息.需要提供这两种信息(提示:如果您对此感兴趣,本简介将概述OAuth身份验证的工作原理).
根据http://twitter4j.org/en/configuration.html,您可以通过如下ConfigurationBuilder实例初始化代码:
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("*your-consumer-key*")
.setOAuthConsumerSecret("*your-consumer-secret*")
.setOAuthAccessToken("*your-access-token*")
.setOAuthAccessTokenSecret("*your-access-token-secret*");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
Run Code Online (Sandbox Code Playgroud)
如果有效的AccessToken/AccessTokenSecret,您应该能够调用:
try {
User user = twitter.verifyCredentials();
// ... do further things....
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |