Auf Thema antworten

Bin hier  noch auf was gestoßen, dass ich mir nicht erklären kann.


Ich hole mir einen Token und bekomme als Antwort folgendes:


[CODE=java]{"token":"eyJ0e-Ei7X3Tgo","valid_until":1618067803}[/CODE]


Dann prüfe ich wie folgt, ob der token noch gültig ist:


[CODE=java]public boolean isTokenExpired() {

     return !Instant.now().isBefore(tokenExpires);

}[/CODE]


Klappt auch. Wenn der Token dann ungültig ist hole ich einen neuen, bekomme aber 429 too many requests. Das kann ich mir so gar nicht erklären weil ich definitiv das Limit nicht überschreite.


Einen neuen token darf man nur 1 mal in 6 Minuten holen, der Token gilt dann für 20 Minuten. Die Zeiten in Klammern, ist die Zeit aus der Response in GMT (ich bin in CEST) kann es damit was zu tun haben? Aber die uhr tickt doch überall gleich schnell^^


1. Token holen: 17:15:03 (Token bekommen 15:15:03 GMT)

neuer token gültig bis 2021-04-10T15:35:03Z also 20 min


2. Token abgelaufen: 17:35:05

Hole neuen Token: und bekomme 429 mit Response Zeitpunkt 15:35:06 GMT

Im Header steht ausserdem: X-RateLimit-Remaining:"0", Retry-After:"50"


Könnte also in 50 sek nochmal versuchen. Versteh ich aber nicht weil ja die 6 min laange um sind.


Hat jemand ne Idee was da los sein könnte?


Wenn ich es lokal mit Postman mache, kann ich nach 6 min einen Token holen. Auf dem Server klappts nicht, daher meine Vermutung dass es an der Zeitzone liegt. Die hat doch aber damit nix zu tun oder?


Der Ratelimiter schlägt da auch nicht an, da die 6 Minuten ja um sind, logo.



Oben