2010-07-16 7 views
3

J'ai écrit un petit programme java pour télécharger les photos de profil de tous mes amis et followers depuis twitter. Mais je reçois une erreur parce que seulement 150 demandes par heure par adresse IP est autorisée.Twitter API Limiter le problème Problème

l'erreur exacte est:

twitter4j.TwitterException: 400:The request was invalid. An accompanying error message will explain why. This is the status code will be returned during rate limiting. 
<?xml version="1.0" encoding="UTF-8"?> 
<hash> 
    <request>/users/show/92715794.xml</request> 
    <error>Rate limit exceeded. Clients may not make more than 150 requests per hour.</error> 
</hash> 

Y at-il un moyen de contourner ce problème ... ??? S'il vous plaît aider ...

+0

Oh oui, pourquoi n'utilisez-vous pas OAuth? L'authentification Http BASIC est obsolète depuis le 1er juillet 2010. Vous pouvez recevoir 350 requêtes par heure. La seule chose que vous devez créer une application sur Twitter.com. –

+2

Peut-être juste une coïncidence, mais l'utilisateur de Twitter dans le message d'erreur semble se rapporter à l'un de ces sites de spam "remplir un sondage" et googler leur URL plus "spam" conduit à beaucoup de tweets identiques sur des comptes Twitter compromis. Spam comme ceci est l'une des raisons pour lesquelles Twitter a la limitation de taux en premier lieu – barrowc

Répondre

6

En tant que développeur, vous pouvez demander la mise en liste blanche de votre compte, ce qui porte la limite à 20 000 demandes/heures. En savoir plus sur http://apiwiki.twitter.com/Rate-limiting

+0

Juste ce que j'étais sur le point de dire. +1 – RobertPitt

+0

Je ne savais pas ça! +1 –

+0

merci Løkling ... j'ai rempli la forme ... – codemaniac

1

Y at-il un moyen de contourner ce problème ... ???

Oui. Ralentissez votre processus pour qu'il ne fasse que 150 demandes par heure.

+0

je ne peux pas ralentir puisque j'ai besoin de télécharger les images de profil. Je pourrais avoir si je construisais simplement un client Twitter de toutes sortes. – codemaniac

1

Vous pouvez

  1. Obtenez votre application liste blanche (20 000 req/h)
  2. Au lieu de faire des demandes non authentifiées, l'authentification avec OAuth (350 req/h)
  3. lent bas vous demande

En juger pour votre description, je ne sais pas si vous pouvez vous attendre à obtenir la liste blanche. Étant donné que vous ne gagnerez pas grand-chose, l'implémentation d'OAuth pourrait ne pas en valoir la peine. Il semble que vous êtes bloqué pour le prendre lentement.

+0

Twitter a maintenant OAuth a l'authentification, BASIC a été obsolète. –

+0

Vous avez raison, j'ai clarifié ma réponse. –

+0

pourquoi je ne peux pas m'attendre à obtenir la liste blanche .. ?? quel est le critère ... ???? – codemaniac