When signing with the new garth solution we have an issue
Error 429
It seems to be same issue as cyberjunky/python-garminconnect#332
We need to port somehow the python-garminconnect solution
cyberjunky/python-garminconnect#345
Adds a fifth login strategy (widget+cffi) that uses the SSO embed widget HTML form flow (/sso/embed + /sso/signin) with curl_cffi TLS impersonation. This bypasses the per-clientId 429 rate limiting that affects all four existing strategies.
$this->objGarminConnect = new dawguk\GarminConnect($this->credentials, dirname(FILE) . DIRECTORY_SEPARATOR . "log" . DIRECTORY_SEPARATOR . "garminconnect.log");
$this->objGarminConnect->login();
$strResponse = $this->objConnector->post($SSO . "/signin", $arrParams, $arrData, true, $strSigninUrl);
[TCX] 2026/04/29 09:12:40:getactivitylist error:SSO sigin error (code: 429, message: {"error":{"status-code":"429","message":"{}","request-id":"4ef21c29d6914f0680c4d28d782ce092"}})
When signing with the new garth solution we have an issue
Error 429
It seems to be same issue as cyberjunky/python-garminconnect#332
We need to port somehow the python-garminconnect solution
cyberjunky/python-garminconnect#345
Adds a fifth login strategy (widget+cffi) that uses the SSO embed widget HTML form flow (/sso/embed + /sso/signin) with curl_cffi TLS impersonation. This bypasses the per-clientId 429 rate limiting that affects all four existing strategies.
$this->objGarminConnect = new dawguk\GarminConnect($this->credentials, dirname(FILE) . DIRECTORY_SEPARATOR . "log" . DIRECTORY_SEPARATOR . "garminconnect.log");
$this->objGarminConnect->login();
$strResponse = $this->objConnector->post($SSO . "/signin", $arrParams, $arrData, true, $strSigninUrl);
[TCX] 2026/04/29 09:12:40:getactivitylist error:SSO sigin error (code: 429, message: {"error":{"status-code":"429","message":"{}","request-id":"4ef21c29d6914f0680c4d28d782ce092"}})