11
votes

Twitter4j: 401 Critiques d'authentification manquantes ou incorrectes

J'essaie actuellement d'obtenir l'Usertimeline d'un groupe d'utilisateurs. Cela a travaillé pour moi dans le passé, mais maintenant ne fonctionne plus. J'utilise Twitter4j et utilise Oauth. J'ai enregistré 2 applications sur mon compte jusqu'à présent, que les deux devraient pouvoir accéder à Twitter-API. Cependant, depuis hier, je reçois une authentification de 401 rédentiels manquants ou incorrects (essayé à la fois des applications). Twitter a-t-il fait des changements récents à l'API? Devrais-je configurer un nouveau compte Twitter? Est-il un moyen approprié de créer une application et de lui permettre d'accéder à votre propre compte?

Ceci est le code: p> xxx pré>

Erreur: p>

  401:Authentication credentials (http://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid conumer key/secret, access token/secret, and the system clock in in sync.
  error - Not authorized
  request - /1/statuses/user_timeline.json?user_id=14221532&include_rts=true&include_entities=false&count=10&page=1
  Relevant discussions can be on the Internet at:
    http://www.google.co.jp/search?q=ced778ef or
    http://www.google.co.jp/search?q=10a1ea9d
  TwitterException{exceptionCode=[ced778ef-10a1ea9d], statusCode=401, retryAfter=0, rateLimitStatus=RateLimitStatusJSONImpl{remainingHits=273, hourlyLimit=350, resetTimeInSeconds=1304422, secondsUntilReset=845, resetTime=Tue May 03 11:36:48 UTC 2011}, version=2.2.3-SNAPSHOT(build: ddf24547632bf3a28b899e3d75b110de43f71c0f)}
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:189)
    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65)
    at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:85)
    at twitter4j.TwitterImpl.get(TwitterImpl.java:1738)
    at twitter4j.TwitterImpl.getUserTimeline(TwitterImpl.java:246)
    at getExpertTweets.getSpecificOpinions(getExpertTweets.java:89)
    at classifyTweet.main(classifyTweet.java:57)
  root@se1:~# sudo ntpdate pool.ntp.org


4 commentaires

Avez-vous vérifié l'heure de votre système? cafetière.net/2009/12/05/system-date -consigné-importan t


Oui, j'ai mis à jour plusieurs fois avec NTPDate Pool.ntp.org


Mise à jour: Cela semble ne se produire que sur certains utilisateurs. Twitter semble faire une distinction dans aucune autorisation et aucune authentification. Aucune autorisation ne signifie que la chronologie est privée?


Oui, cela signifie presque certainement que la chronologie est privée et vous n'avez pas reçu la permission de suivre l'utilisateur en question.


7 Réponses :


14
votes

J'ai eu le même problème. La clé de consommation et le secret du consommateur que j'utilisais étaient corrects et ma machine était en synchronisation. Le problème était que je n'ai pas défini l'URL de rappel lorsque j'inspirais ma candidature sur dev.Twitter.com. Une fois que j'ai mis ça, tout vient de travailler.


1 commentaires

Comment définir le callback_url, il indique une URL invalide. Le format que j'ai utilisé quelque chose: // Twitter



5
votes

Il y a un problème avec la clé de consommation et le jeton. Suivez les étapes.

Connexion à https://dev.twitter.com/ et goto Mon application signifie votre application respectée. et les paramètres GOTO et modifier la permission d'accès Lecture seulement à Lire, écrire et diriger les messages

et mettre à jour les données et s'il n'est pas mis à jour, recréez-vous et mettez à jour les données de jeton et de votre programme. et exécutez le programme et assurez-vous que vous avez tous les fichiers JAR de cela dans votre dossier lib. et le problème sera résolu.


1 commentaires

Le problème arrive toujours 5 ans plus tard. Malheureusement, cela n'a jamais été la solution.



1
votes

Je pensais que je partageais cela au cas où il aide quelqu'un à googler pour ce message d'exception.

Tout en test d'authentification Twitter pour une application JSF, j'ai essayé le cas d'utilisation suivant:

Ouvrez la fenêtre d'authentification Twitter. Entrez des informations d'identification appropriées et connectez-vous.

Cela a fonctionné. Alors j'ai essayé:

Ouvrez la fenêtre d'authentification Twitter. Fermez la fenêtre d'authentification Twitter. Ouvrez à nouveau la fenêtre d'authentification Twitter. Entrez des informations d'identification appropriées et appuyez sur Connexion.

Ce dernier a toujours entraîné une exception manquante ou incorrecte de 401 d'authentification.

Mon problème était que le serveur redémarre le processus d'authentification Twitter, mais la valeur de requestToken.getauthentiollinglicationL () n'était pas correctement retombée à l'interface utilisateur et l'a causée à invoquer l'API Twitter avec l'ancienne URL.

en bref, assurez-vous que l'URL d'authentification utilisée par le client correspond à celui du serveur s'attend à ce que le serveur s'attend.


0 commentaires

0
votes

aujourd'hui 02.05.2015 J'ai eu l'erreur similaire à l'aide d'une version twitter4j 3.0.x.

Je l'ai eu jusqu'à ce que je me suis mis à jour Twitter4J à la version 4.0.0. p>

  <dependencies>
  <dependency>
      <groupId>org.twitter4j</groupId>
      <artifactId>twitter4j-core</artifactId>
      <version>[4.0,)</version>
  </dependency>
  ...


0 commentaires

0
votes

J'ai également confronté à ce problème avec le temps système correct et la clé de l'API / secret.

Il s'est avéré que l'on doit définir une URL de rappel sur https: //api.Twitter. com / oauth / demande_token Une fois qu'il est défini - vous verrez l'écran Twitter Autoriser.

Vous pouvez également appuyer sur "Test oauth" pour la tester à l'aide de l'outil OAuth et passe https: / /api.twitter.com/oauth/request_Token en tant que demande URI pour la demande postale.


0 commentaires

0
votes

J'ai fait face au même problème et j'ai réparé, si la date et l'heure du périphérique n'est pas correcte, ce problème se produira.


0 commentaires

0
votes

Vérifiez que toutes vos informations d'identification d'auth sont correctes a) Consumerkey b) ConsumerSecret c) AccessTroken d) Accessotokensecret Si tout ce qui précède est correct, cela devrait fonctionner.

Une autre possibilité peut être lorsque votre système est hors de synchronisation. Tels que si vous courez dans une boîte virtuelle après quelques heures d'inactivité, votre système sortez de la synchronisation. Veuillez redémarrer le système et réessayer.

Vous pouvez valider les dépendances avec ci-dessous build.sbt fichier xxx


0 commentaires