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

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

2 голосов
/ 22 августа 2011

Это то, что я получаю, когда звоню 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? Есть предложения?

Ответы [ 3 ]

9 голосов
/ 09 ноября 2012

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

2 голосов
/ 31 марта 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());

CALLBACK URL СТРАНИЦА КОД:

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);
2 голосов
/ 22 августа 2011

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

...