retrieveRequestToken(CommonsHttpOAuthConsumer,CALLBACK_URI)函数抛出OAuthCommunicationException

时间:2012-01-10 12:40:15

标签: android twitter oauth twitter-oauth

我想创建一个Android应用程序,它将在twitter中更新状态。 我正在使用signpost-core-1.2.1.1和signpost-commonshttp4-1.2.1.1 jar文件。我已经获得了互联网使用权限,我在Twitter上注册了应用程序,允许读取,写入和直接消息。还填写了回调网址。

代码段:

private  static  final  String CALLBACK_URI = "app://twitter";
private static final String REQUEST_TOKEN_URL = "https://api.twitter.com/oauth/request_token";
private static final String ACCESS_TOKEN_URL = "https://api.twitter.com/oauth/access_token";
private static final String AUTHORIZE_URL = "https://api.twitter.com/oauth/authorize";

String CONSUMER_KEY = "XXXXXXXXXX";
String CONSUMER_SECRET = "XXXXXXXXXX";

private static  CommonsHttpOAuthConsumer consumer;
private static CommonsHttpOAuthProvider provider;

consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
provider = new DefaultOAuthProvider(REQUEST_TOKEN_URL,ACCESS_TOKEN_URL, AUTHORIZE_URL);
String authUrl="";

authUrl = provider.retrieveRequestToken(consumer,CALLBACK_URI);

我完全坚持这个。请回复。

2 个答案:

答案 0 :(得分:1)

Signpost文档说DefaultOAuthProvider在java.net的Android实现上有一些问题。他们建议使用CommonsHttpOAuthProvider代替。我遇到了同样的问题。这在我的案例中解决了这个例外。希望这会有所帮助。

答案 1 :(得分:0)

首先通过Android应用程序,我们不允许发送callbackurl,所以使用“oob”而不是callbackurl,并且有一个api for twitter,也支持android,它是jTwitter。