Repository navigation
Sometimes getting http 401 on requests #2356
Copy link
Copy link
Open
Labels
priority: p2Moderately-important priority. Fix may not be included in next release.Moderately-important priority. Fix may not be included in next release.
Description
We are using current v2.16.2. This works fine most of the time.
But sometimes we get a http 401 back like this:
Google\Http\REST::decodeHttpResponse()
#1 [internal function]: Google\Http\REST::doExecute()
#2 /var/www/html/magento2/vendor/google/apiclient/src/Task/Runner.php(187): call_user_func_array()
#3 /var/www/html/magento2/vendor/google/apiclient/src/Http/REST.php(66): Google\Task\Runner->run()
#4 /var/www/html/magento2/vendor/google/apiclient/src/Client.php(920): Google\Http\REST::execute()
#5 /var/www/html/magento2/vendor/google/apiclient/src/Service/Resource.php(238): Google\Client->execute()
#6 /var/www/html/magento2/vendor/google/apiclient-services/src/Sheets/Resource/SpreadsheetsValues.php(271): Google\Service\Resource->call()
#7 /var/www/html/magento2/vendor/bobbie/module-tender/Helper/GoogleApi.php(189): Google\Service\Sheets\Resource\SpreadsheetsValues->update()
#8 /var/www/html/magento2/vendor/bobbie/module-tender/Model/GoogleSheet.php(91): Bobbie\Tender\Helper\GoogleApi->setSpreadSheetValue()
#9 /var/www/html/magento2/vendor/bobbie/module-tender/Model/TenderSheet.php(488): Bobbie\Tender\Model\GoogleSheet->setValue()
[2022-11-29T14:44:41.634244+00:00] main.ERROR: {
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"errors": [
{
"message": "Invalid Credentials",
"domain": "global",
"reason": "authError",
"location": "Authorization",
"locationType": "header"
}
],
"status": "UNAUTHENTICATED"
}
}
[] []
Just milliseconds before I had successfull requests, and we are checking token lifetime frequently using:
if ($this->getClient()->isAccessTokenExpired()) {
// Refresh the token if possible, else fetch a new one.
if ($this->client->getRefreshToken()) {
$this->client->fetchAccessTokenWithRefreshToken($this->client->getRefreshToken());
$this->persistToken($this->client);
Metadata
Metadata
Assignees
Labels
priority: p2Moderately-important priority. Fix may not be included in next release.Moderately-important priority. Fix may not be included in next release.
Activity
bshaffer commentedon Dec 21, 2022
Hello, thank you for reporting this issue. Do you know if retrying the API works, or does this break the application from then on out?
alexgran commentedon Dec 22, 2022
Hi,
we haven't implemented an immediate retry logic yet, however if the next bunch of calls to google go out, usually minutes later, they work flawlessly
nicolas-gautron commentedon Jan 13, 2023
Hello,
Same issue after an upgrade from google/apiclient v2.12.6 to v2.13.0
Implying an upgrade of :
BoGnY commentedon Oct 29, 2025
any updates? bug is still present after 3 years.. that's crazy 🫤