функции retrieveRequestToken (CommonsHttpOAuthConsumer, CALLBACK_URI) генерирует исключение OAuthCommunicationException - PullRequest
0 голосов
/ 10 января 2012

Я хочу сделать приложение для Android, которое будет обновлять статус в твиттере. Я использую файлы jar signpost-core-1.2.1.1 и signpost-commonshttp4-1.2.1.1. Я дал разрешение на использование Интернета, и я зарегистрировал приложение в твиттере, дающее разрешение на чтение, запись и отправку сообщений. Также пополнил обратный звонок Url.

фрагмент кода:

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 ]

1 голос
/ 23 мая 2012

Документация Signpost говорит, что у DefaultOAuthProvider есть некоторые проблемы с реализацией Android java.net. Вместо этого они предлагают использовать CommonsHttpOAuthProvider. У меня была такая же проблема. Это решило это исключение в моем случае. Надеюсь, это поможет.

0 голосов
/ 10 января 2012

Во-первых, с помощью приложения для Android нам не разрешено отправлять callbackurl, поэтому используйте «oob» вместо callbackurl, и есть API для Twitter, который также поддерживается на Android, это jTwitter.

...