Rate Limit überschritten - Benutzerdefinierte Twitter App

8

Ich arbeite mit einer Java-Twitter-App (mit Twitter4J API). Ich habe die App erstellt und kann die aktuelle Benutzerzeitleiste, Benutzerprofile usw. anzeigen.

Allerdings scheint es bei der Verwendung der App ziemlich schnell die auf Twitter-Clients gesetzte Rate von 150 Anfragen pro Stunde zu überschreiten (ich weiß, dass Entwickler diese auf 350 auf bestimmten Konten erhöhen können, aber das würde für andere Benutzer nicht gelöst werden) / p>

Sicherlich betrifft dies nicht alle Kunden, irgendwelche Ideen, wie man das umgehen kann?

Weiß jemand, was als Anfrage zählt? Wenn ich zum Beispiel ein Benutzerprofil anschaue, lade ich das Benutzerobjekt (twitter4j) und hole dann den Bildschirmnamen, den Benutzernamen, die Benutzerbeschreibung, den Benutzerstatus usw. in ein JSON-Objekt - wäre dies ein einzelner Aufruf, um das Objekt zu erhalten Oder wären es mehrere, die alle user.get ... Aufrufe beinhalten?

Vielen Dank im Voraus

    
rhinds 08.08.2010, 14:01
quelle

2 Antworten

4

Sie müssen wirklich im Auge behalten, was Ihre aktuelle Anfrage im Umgang mit Twitter ist.

Twittern scheint jedoch die Zählung für 304 Not Modified nicht fallengelassen zu haben (zumindest hat es nicht das letzte Mal, dass ich damit umgegangen bin), also stelle sicher, dass es nicht etwas gibt, das deine normale Verwendung von HTTP-Caching bricht Ihre praktische Anfrage pro Stunde steigt.

Beachten Sie, dass Twitter an einem Fehler in mod_gzip auf Apache leidet, bei dem das e-tag falsch formatiert wurde, um zu reflektieren, dass die Inhaltscodierung anders ist als die der nicht-gzipierten Entität (dies ist die richtige Sache) do, es gibt nur einen Fehler in der Implementierung). Aus diesem Grund bedeutet das Akzeptieren von gezippten Inhalten von Twitter, dass es niemals eine 304 sendet, was die Anzahl der Anfragen erhöht und in vielen Fällen die Effizienzgewinne der Verwendung von gzip untergräbt.

Wenn Sie also gzip akzeptieren (Ihre Web-Bibliothek kann dies standardmäßig tun, sehen Sie, was Sie mit einem Tool wie Fiddler sehen können), bin ich ein .NET-Typ mit ein wenig Java-Kenntnissen, der auf der Ebene antwortet wie Twitter mit HTTP umgeht, also kenne ich nicht die Details von Java Web Libraries), versuche es auszuschalten und schau, ob es Dinge verbessert.

    
Jon Hanna 08.08.2010, 14:21
quelle
1

Fast jede Art von Lesen von Twitter-Servern (d. h. alles, was HTTP GET aufruft) zählt als Anfrage. Das Einholen von User-Timelines, Retweets, direkten Nachrichten, das Abrufen von Benutzerdaten zählt jeweils als 1 Anfrage. Ziemlich genau der einzige Twitter-API-Aufruf, der vom Server liest, ohne gegen Ihr API-Limit zu zählen, besteht darin, den Status der Ratenbegrenzung zu überprüfen.

    
Eric Hydrick 22.08.2010 00:12
quelle

Tags und Links