Support

Akeeba Backup for Joomla!

#34295 expired_access_token

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by on Saturday, 06 February 2021 20:17 CST

sitte.pl

Since december I have problem with "Dropbox Post-processing engine" on multiple installations. Backup are made properly but postprocess fails. When I try to run file postprocess manually (from backups list) I get an error:
Error expired_access_token: No error description provided. Raw error: Array ( [.tag] => expired_access_token )

If I update authentication steps in configuration then I can postprocess/uplod files to dropbox for one day. Next day the problem occurs again.

 

When I'm authenticating dropbox, in Popup I have error on the bottom (but it does not affect the generation of keys):

Dropbox Authentication Error invalid_grant

Dropbox reported that you did not log in correctly or did not grant Akeeba Backup the permission to access your account.

tampe125
Akeeba Staff

Hello,

The error you are getting says that the Dropbox access token has expired and Akeeba Backup cannot get a new one.

If you are trying to set up Dropbox in more than one backup profile or more than one sites please do not copy the access and refresh tokens. These have to be unique for every site and backup profile. In other words you need to click the Authentication – Step 1 button in the Configuration page of every backup profile.

The same holds true if you restore a site from a backup. The access and refresh tokens which are restored from the backup are already expired so you need to reconfigure Dropbox.

This is also true for other remote storage engines which use OAuth2 for linking them to Akeeba Backup such as OneDrive, Google Drive and Box. This problem is just how OAuth2 works. It is very secure but trying to reuse the refresh token breaks the link.

So, go back to Akeeba Backup, select your backup profile and click on Configuration. Click the "Configure..." button next to the Post-processing engine. click the Authentication - Step 1 button and go through the Dropbox authentication. Your access and refresh tokens will be replaced. Click on Save & Close. You can now run the backup pagain.

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

sitte.pl

Thank You for response. I updated postptocess dropbox configuration on every configuration (4 applications, 3 profiles each). It worked for one day but now it's the same as before.

Log below. I marked domain name and drirectory names with *****.

 

...

DEBUG |210107 01:26:25|----- Finished operation 1 ------
DEBUG |210107 01:26:25|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Finalization
DEBUG |210107 01:26:25|Kettenrad :: More work required in domain 'finale'
DEBUG |210107 01:26:25|====== Finished Step number 314 ======
DEBUG |210107 01:26:25|Kettenrad :: Setting the break flag between domains
DEBUG |210107 01:26:25|*** Engine steps batching: Break flag detected.
DEBUG |210107 01:26:25|*** Batching of engine steps finished. I will now return control to the caller.
DEBUG |210107 01:26:25|No need to sleep; execution time: 6464.6699428558 msec; min. exec. time: 0 msec
DEBUG |210107 01:26:25|Saving Kettenrad instance frontend
DEBUG |210107 01:26:25|Kettenrad :: Attempting to load from database (frontend) [frontend.1396]
DEBUG |210107 01:26:25| -- Loaded stored Akeeba Factory (frontend) [frontend.1396]
DEBUG |210107 01:26:25|====== Starting Step number 315 ======
DEBUG |210107 01:26:25|Kettenrad :: Ticking the domain object
DEBUG |210107 01:26:25|Akeeba\Engine\Core\Domain\Finalization::_run() Running add-on method test_extract
INFO |210107 01:26:25|Akeeba\Engine\Finalization\TestExtract: The archive's integrity has been validated
DEBUG |210107 01:26:25|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method run_post_processing
DEBUG |210107 01:26:25|Loading post-processing engine object (dropbox2)
INFO |210107 01:26:25|Initializing post-processing engine
DEBUG |210107 01:26:25|29 files to process found
DEBUG |210107 01:26:25|Breaking step before post-processing run
DEBUG |210107 01:26:25|Kettenrad :: Domain object returned without errors; propagating
DEBUG |210107 01:26:25|Kettenrad :: Break flag status: YES
DEBUG |210107 01:26:25|----- Finished operation 1 ------
DEBUG |210107 01:26:25|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Finalization
DEBUG |210107 01:26:25|Kettenrad :: More work required in domain 'finale'
DEBUG |210107 01:26:25|====== Finished Step number 315 ======
DEBUG |210107 01:26:25|Kettenrad :: Setting the break flag between domains
DEBUG |210107 01:26:25|*** Engine steps batching: Break flag detected.
DEBUG |210107 01:26:25|*** Batching of engine steps finished. I will now return control to the caller.
DEBUG |210107 01:26:25|No need to sleep; execution time: 5.8441162109375 msec; min. exec. time: 0 msec
DEBUG |210107 01:26:25|Saving Kettenrad instance frontend
DEBUG |210107 01:26:25|Kettenrad :: Attempting to load from database (frontend) [frontend.1396]
DEBUG |210107 01:26:25| -- Loaded stored Akeeba Factory (frontend) [frontend.1396]
DEBUG |210107 01:26:25|====== Starting Step number 316 ======
DEBUG |210107 01:26:25|Kettenrad :: Ticking the domain object
DEBUG |210107 01:26:25|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method run_post_processing
DEBUG |210107 01:26:25|Loading post-processing engine object (dropbox2)
INFO |210107 01:26:25|Beginning post processing file <root>backup/**************-20210107-000000.jps
WARNING |210107 01:26:27|Failed to process file <root>backup/**************-20210107-000000.jps
WARNING |210107 01:26:27|Error received from the post-processing engine:
WARNING |210107 01:26:27|Could not create Dropbox directory **************.
DEBUG |210107 01:26:27|[RuntimeException] <root>administrator/components/com_akeeba/BackupEngine/Postproc/Dropbox2.php(101) – #500 ‹Could not create Dropbox directory **************.›
DEBUG |210107 01:26:27|#0 <root>administrator/components/com_akeeba/BackupEngine/Core/Domain/Finalization.php(574): Akeeba\Engine\Postproc\Dropbox2->processPart('<root>ba...')
DEBUG |210107 01:26:27|#1 <root>administrator/components/com_akeeba/BackupEngine/Core/Domain/Finalization.php(258): Akeeba\Engine\Core\Domain\Finalization->run_post_processing()
DEBUG |210107 01:26:27|#2 <root>administrator/components/com_akeeba/BackupEngine/Base/Part.php(216): Akeeba\Engine\Core\Domain\Finalization->_run()
DEBUG |210107 01:26:27|#3 <root>administrator/components/com_akeeba/BackupEngine/Core/Kettenrad.php(539): Akeeba\Engine\Base\Part->tick()
DEBUG |210107 01:26:27|#4 <root>administrator/components/com_akeeba/BackupEngine/Base/Part.php(216): Akeeba\Engine\Core\Kettenrad->_run()
DEBUG |210107 01:26:27|#5 <root>administrator/components/com_akeeba/BackupEngine/Core/Kettenrad.php(189): Akeeba\Engine\Base\Part->tick(0)
DEBUG |210107 01:26:27|#6 <root>administrator/components/com_akeeba/Model/Backup.php(360): Akeeba\Engine\Core\Kettenrad->tick()
DEBUG |210107 01:26:27|#7 <root>components/com_akeeba/Controller/Backup.php(116): Akeeba\Backup\Admin\Model\Backup->stepBackup()
DEBUG |210107 01:26:27|#8 <root>libraries/fof30/Controller/Controller.php(419): Akeeba\Backup\Site\Controller\Backup->step()
DEBUG |210107 01:26:27|#9 <root>libraries/fof30/Controller/Mixin/PredefinedTaskList.php(48): FOF30\Controller\Controller->execute('step')
DEBUG |210107 01:26:27|#10 <root>libraries/fof30/Dispatcher/Dispatcher.php(177): Akeeba\Backup\Site\Controller\Backup->execute('step')
DEBUG |210107 01:26:27|#11 <root>components/com_akeeba/akeeba.php(31): FOF30\Dispatcher\Dispatcher->dispatch()
DEBUG |210107 01:26:27|#12 <root>libraries/src/Component/ComponentHelper.php(402): require_once('<root>co...')
DEBUG |210107 01:26:27|#13 <root>libraries/src/Component/ComponentHelper.php(377): Joomla\CMS\Component\ComponentHelper::executeComponent('<root>co...')
DEBUG |210107 01:26:27|#14 <root>libraries/src/Application/SiteApplication.php(194): Joomla\CMS\Component\ComponentHelper::renderComponent('com_akeeba')
DEBUG |210107 01:26:27|#15 <root>libraries/src/Application/SiteApplication.php(233): Joomla\CMS\Application\SiteApplication->dispatch()
DEBUG |210107 01:26:27|#16 <root>libraries/src/Application/CMSApplication.php(196): Joomla\CMS\Application\SiteApplication->doExecute()
DEBUG |210107 01:26:27|#17 <root>index.php(50): Joomla\CMS\Application\CMSApplication->execute()
DEBUG |210107 01:26:27|#18 {main}
WARNING |210107 01:26:27|Error expired_access_token: No error description provided. Raw error: Array \n ( \n [.tag] => expired_access_token \n ) \n
DEBUG |210107 01:26:27|[Akeeba\Engine\Postproc\Connector\Dropbox2\Exception\APIError] <root>administrator/components/com_akeeba/BackupEngine/Postproc/Connector/Dropbox2.php(896) – #500 ‹Error expired_access_token: No error description provided. Raw error: Array \n ( \n [.tag] => expired_access_token \n ) \n ›
DEBUG |210107 01:26:27|#0 <root>administrator/components/com_akeeba/BackupEngine/Postproc/Connector/Dropbox2.php(609): Akeeba\Engine\Postproc\Connector\Dropbox2->fetch('POST', 'https://api.dro...', 'files/create_fo...', Array, '{"path":"\\/appI...')
DEBUG |210107 01:26:27|#1 <root>administrator/components/com_akeeba/BackupEngine/Postproc/Dropbox2.php(96): Akeeba\Engine\Postproc\Connector\Dropbox2->makeDirectory('/**************')
DEBUG |210107 01:26:27|#2 <root>administrator/components/com_akeeba/BackupEngine/Core/Domain/Finalization.php(574): Akeeba\Engine\Postproc\Dropbox2->processPart('<root>ba...')
DEBUG |210107 01:26:27|#3 <root>administrator/components/com_akeeba/BackupEngine/Core/Domain/Finalization.php(258): Akeeba\Engine\Core\Domain\Finalization->run_post_processing()
DEBUG |210107 01:26:27|#4 <root>administrator/components/com_akeeba/BackupEngine/Base/Part.php(216): Akeeba\Engine\Core\Domain\Finalization->_run()
DEBUG |210107 01:26:27|#5 <root>administrator/components/com_akeeba/BackupEngine/Core/Kettenrad.php(539): Akeeba\Engine\Base\Part->tick()
DEBUG |210107 01:26:27|#6 <root>administrator/components/com_akeeba/BackupEngine/Base/Part.php(216): Akeeba\Engine\Core\Kettenrad->_run()
DEBUG |210107 01:26:27|#7 <root>administrator/components/com_akeeba/BackupEngine/Core/Kettenrad.php(189): Akeeba\Engine\Base\Part->tick(0)
DEBUG |210107 01:26:27|#8 <root>administrator/components/com_akeeba/Model/Backup.php(360): Akeeba\Engine\Core\Kettenrad->tick()
DEBUG |210107 01:26:27|#9 <root>components/com_akeeba/Controller/Backup.php(116): Akeeba\Backup\Admin\Model\Backup->stepBackup()
DEBUG |210107 01:26:27|#10 <root>libraries/fof30/Controller/Controller.php(419): Akeeba\Backup\Site\Controller\Backup->step()
DEBUG |210107 01:26:27|#11 <root>libraries/fof30/Controller/Mixin/PredefinedTaskList.php(48): FOF30\Controller\Controller->execute('step')
DEBUG |210107 01:26:27|#12 <root>libraries/fof30/Dispatcher/Dispatcher.php(177): Akeeba\Backup\Site\Controller\Backup->execute('step')
DEBUG |210107 01:26:27|#13 <root>components/com_akeeba/akeeba.php(31): FOF30\Dispatcher\Dispatcher->dispatch()
DEBUG |210107 01:26:27|#14 <root>libraries/src/Component/ComponentHelper.php(402): require_once('<root>co...')
DEBUG |210107 01:26:27|#15 <root>libraries/src/Component/ComponentHelper.php(377): Joomla\CMS\Component\ComponentHelper::executeComponent('<root>co...')
DEBUG |210107 01:26:27|#16 <root>libraries/src/Application/SiteApplication.php(194): Joomla\CMS\Component\ComponentHelper::renderComponent('com_akeeba')
DEBUG |210107 01:26:27|#17 <root>libraries/src/Application/SiteApplication.php(233): Joomla\CMS\Application\SiteApplication->dispatch()
DEBUG |210107 01:26:27|#18 <root>libraries/src/Application/CMSApplication.php(196): Joomla\CMS\Application\SiteApplication->doExecute()
DEBUG |210107 01:26:27|#19 <root>index.php(50): Joomla\CMS\Application\CMSApplication->execute()
DEBUG |210107 01:26:27|#20 {main}
DEBUG |210107 01:26:27|Not removing the non-processed file <root>backup/**************-20210107-000000.jps
WARNING |210107 01:26:27|Post-processing interrupted -- no more files will be transferred
DEBUG |210107 01:26:27|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method kickstart_post_processing
INFO |210107 01:26:27|Getting ready to upload Kickstart
DEBUG |210107 01:26:27|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method apply_quotas
DEBUG |210107 01:26:27|No quotas were defined; old backup files will be kept intact
DEBUG |210107 01:26:27|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method apply_remote_quotas
DEBUG |210107 01:26:27|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method mail_administrators
DEBUG |210107 01:26:27|Preparing to send e-mail to administrators
DEBUG |210107 01:26:27|Using pre-defined list of emails
DEBUG |210107 01:26:27|Creating email subject and body
DEBUG |210107 01:26:27|Sending email to [email protected]
DEBUG |210107 01:26:27|-- Fetching mailer object
DEBUG |210107 01:26:27|-- Joomla!'s mailer is using smtp mail method.
DEBUG |210107 01:26:27|-- Creating email message
DEBUG |210107 01:26:27|-- Sending message
DEBUG |210107 01:26:27|-- Email sent
DEBUG |210107 01:26:27|Akeeba\Engine\Core\Domain\Finalization::_run() Running built-in method update_statistics
DEBUG |210107 01:26:27|Updating statistics
DEBUG |210107 01:26:27|Removing any old records with **************-20210107-000000.jps filename
DEBUG |210107 01:26:27|1 records found
DEBUG |210107 01:26:27|Kettenrad :: Domain object returned without errors; propagating
DEBUG |210107 01:26:27|Kettenrad :: Break flag status: no
DEBUG |210107 01:26:27|----- Finished operation 1 ------
DEBUG |210107 01:26:27|Kettenrad :: Ticking the domain object
DEBUG |210107 01:26:27|Kettenrad :: Domain object returned without errors; propagating
DEBUG |210107 01:26:27|Kettenrad :: Break flag status: no
DEBUG |210107 01:26:27|----- Finished operation 2 ------
DEBUG |210107 01:26:27|Successful Smart algorithm on Akeeba\Engine\Core\Domain\Finalization
DEBUG |210107 01:26:27|Kettenrad :: Domain 'finale' has finished.
DEBUG |210107 01:26:27|====== Finished Step number 316 ======
DEBUG |210107 01:26:27|Kettenrad :: Setting the break flag between domains
DEBUG |210107 01:26:27|*** Engine steps batching: Break flag detected.
DEBUG |210107 01:26:27|*** Batching of engine steps finished. I will now return control to the caller.
DEBUG |210107 01:26:27|No need to sleep; execution time: 2086.452960968 msec; min. exec. time: 0 msec
DEBUG |210107 01:26:27|Saving Kettenrad instance frontend
DEBUG |210107 01:26:27|Kettenrad :: Attempting to load from database (frontend) [frontend.1396]
DEBUG |210107 01:26:27| -- Loaded stored Akeeba Factory (frontend) [frontend.1396]
DEBUG |210107 01:26:27|====== Starting Step number 317 ======
DEBUG |210107 01:26:27|Kettenrad :: Switching domains
DEBUG |210107 01:26:27|Kettenrad :: BREAKING STEP BEFORE SWITCHING DOMAIN
DEBUG |210107 01:26:27|Kettenrad :: No more domains to process
DEBUG |210107 01:26:27|====== Finished Step number 317 ======
DEBUG |210107 01:26:27|*** Engine steps batching: Break flag detected.
DEBUG |210107 01:26:27|*** Batching of engine steps finished. I will now return control to the caller.
DEBUG |210107 01:26:27|No need to sleep; execution time: 0.20098686218262 msec; min. exec. time: 0 msec
DEBUG |210107 01:26:27|Saving Kettenrad instance frontend
DEBUG |210107 01:26:27|Kettenrad :: Attempting to load from database (frontend) [frontend.1396]
DEBUG |210107 01:26:27| -- Loaded stored Akeeba Factory (frontend) [frontend.1396]
DEBUG |210107 01:26:27|Kettenrad :: Just finished
DEBUG |210107 01:26:27|*** Batching of engine steps finished. I will now return control to the caller.
DEBUG |210107 01:26:27|No need to sleep; execution time: 0.27203559875488 msec; min. exec. time: 0 msec

--- END OF RAW LOG ---

tampe125
Akeeba Staff

Hello,

Dropbox changed their API, so we had to update the code as well. Can you please update to the latest version and try again?

That should fix your issue for good.

 

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

System Task
system
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!