Проблема в Oauth с twitter4j

Это то, что я получаю, звоня twitter.getOauthRequestToken(callbackUrl). Я добавил правильный ключ потребителя и секрет потребителя.

    401:Authentication credentials (https://dev.twitter.com/docs/auth) were missing or incorrect. Ensure that you have set valid conumer key/secret, access token/secret, and the system clock in in sync.
<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <error>Desktop applications only support the oauth_callback value 'oob'</error>
  <request>/oauth/request_token</request>
</hash>

Я отлаживал код несколько раз и нашел все учетные данные до того, как был сделан вышеуказанный вызов. Кто пользовался twitter4j или нет, можете указать проблему? Или мне следует использовать другую библиотеку oauth? Какие-либо предложения?


person Shwetanka    schedule 22.08.2011    source источник


Ответы (3)


Я думаю, вы зарегистрировали свое приложение как «настольное». Перейдите к приложениям Twitter и либо удалите приложение, либо создайте новое, либо отредактируйте существующее, указав «веб» в качестве типа приложения.

person Nischal    schedule 22.08.2011

у меня такая же проблема, но когда я заполняю поле URL-адреса обратного вызова, мои приложения работают нормально. возможно, вам следует заполнить поле URL обратного вызова.

person Ari Pratomo    schedule 09.11.2012

Попробуй это:

Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer("yourConsumerKey","yourConsumerSecret");
RequestToken requestToken = twitter.getOAuthRequestToken();

session.setAttribute("token", requestToken.getToken());
session.setAttribute("tokenSecret", requestToken.getTokenSecret());

// REDIRECT USER TO TWITTER LOGIN PAGE

response.sendRedirect(requestToken.getAuthorizationURL());

КОД СТРАНИЦЫ:

Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer("yourConsumerKey","yourConsumerSecret");

AccessToken aToken = twitter.getOAuthAccessToken(new RequestToken((String) session.getAttribute("token"), (String) session.getAttribute("tokenSecret")));
                twitter.setOAuthAccessToken(aToken);
person Manuel Barbera    schedule 31.03.2012