[PHP] Picqer Exact Online '"The message expired at' ?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 01-10 14:45

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Dag,

We zijn bezig een Exact koppeling te bouwen met Picqer. Maar we zien een foutmelding die we nog nooit gezien hebben, en waar Google ook geen raad mee lijkt te weten?

We krijgen geen refreshToken, de auth gaat goed, maar daarna geeft de koppeling dit terug:

[2022-03-29 17:00:17] request.CRITICAL: Uncaught PHP Exception Picqer\Financials\Exact\ApiException: "Error 400: {"error":"invalid_request","error_description":"The message expired at 3\/29\/2022 4:37:05 PM and it is now 3\/29\/2022 5:00:17 PM."}" at /var/www/***/vendor/picqer/exact-php-client/src/Picqer/Financials/Exact/Connection.php line 775


Maar om welk 'message' het gaat, en waarom deze blijft hangen op dat tijdstip is ons een raadsel.

We hebben dit voorbeeld aangehouden. Dit was omgebouwd naar OO, maar ook een los 'exact_test.php' met deze code erin geeft hetzelfde resultaat...

Meer mensen hier last van of die dit kunnen reproduceren?

Professioneel Heftruck Syndroom

Beste antwoord (via NeFoRcE op 16-02-2023 11:10)


  • vanrijs
  • Registratie: Februari 2023
  • Laatst online: 21-02-2023
Liep hier zelf ook tegenaan. Komt omdat je de autorisatie token hebt gegenereerd en daarna mogelijk niet verder bent gegaan (had hier zelf 2 dagen tussen zitten). Als je een autorisatie token genereert en die vervolgens niet gebruikt, verloopt 'ie. Even nieuwe autorisatie uitvoeren en je code weer opnieuw opslaan en je kunt verder.

Alle reacties


Acties:
  • 0 Henk 'm!

  • dvdheiden
  • Registratie: Maart 2006
  • Laatst online: 01-10 16:24
Heb inmiddels meerdere keren de koppeling met Exact Online gerealiseerd met de genoemde package. Heb je hetzelfde probleem met het meegeleverde example?

Het handigste is om je scenario zoveel mogelijk te isoleren. Heb je al met een bare minimum getest zoals aangegeven in de documentatie? Zet je toevallig zelf de token expiration via
code:
1
setTokenExpires
al dan niet met andere timezone?

Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sinds een poosje mag je je token niet "te vroeg" refreshen. Je mag max. 30 sec. (uit m'n hoofd) vantevoren je token refreshen.
Use refresh tokens efficiently
When your access token expires after 10 minutes, you must use the refresh token to request a new access token. When you request an access token, you can see in the response that the access token is valid for 600 seconds. There are a two things you must note so you can manage these limitations efficiently:

Do not request a new access token too late
Use your refresh token to get a new access token before it expires. If you make an API call with an expired access token, your call will be rejected with response code 401 and reason Authentication Required.
Do not request a new access token too early
You should only request a new token right before it expires. You can only request a new access token 9 minutes and 30 seconds after you received it. If you request an access token before the 9 minutes and 30 seconds have passed, your call will be rejected with response code 401 and reason Access Token not expired.
You are advised to save the expiry date and time of the access token at the client side and request a new access token not earlier than 30 seconds before it expires.
Daar heb ik iig behoorlijk lang m'n kop mee tegen de muur lopen butsen. Geen idee of dit hier ook aan de orde is, maar ik vond 't relevant genoeg om even te delen hier :P

[ Voor 88% gewijzigd door RobIII op 29-03-2022 17:58 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • NeFoRcE
  • Registratie: Mei 2004
  • Laatst online: 01-10 14:45

NeFoRcE

Hallo? Bent u daar?

Topicstarter
Het werkt weer. Hoe geen idee. Laatste versie van Picqer en Guzzle geinstalleerd. Alle code gerevert met extra toevoeging van een check op expire date. En dat deed 'm blijkbaar. MAar toch heb ik het gevoel dat er wat bij exact veranderd is ook..

Kostte mij 3 jaar van m'n leven, maar goed. Het werkt weer.

Thanks en proost!

Professioneel Heftruck Syndroom


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
NeFoRcE schreef op woensdag 30 maart 2022 @ 12:21:
MAar toch heb ik het gevoel dat er wat bij exact veranderd is ook..
Zou niet voor het eerst zijn dat ze iets "stilzwijgend" wijizigen en alleen ergens in een duister hoekje van de "documentatie" terug komt (if at all...)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • vanrijs
  • Registratie: Februari 2023
  • Laatst online: 21-02-2023
Liep hier zelf ook tegenaan. Komt omdat je de autorisatie token hebt gegenereerd en daarna mogelijk niet verder bent gegaan (had hier zelf 2 dagen tussen zitten). Als je een autorisatie token genereert en die vervolgens niet gebruikt, verloopt 'ie. Even nieuwe autorisatie uitvoeren en je code weer opnieuw opslaan en je kunt verder.
Pagina: 1