Google Drive 403 forbidden

I have an issue, most of the backups to google drive fails.

All local copies are fine, I’ve used to use hetzner storage box before and it was ok for 10 months but after migrating to google I can not see it working.

`

{
“DeletedFiles”: 0,
“DeletedFolders”: 0,
“ModifiedFiles”: 0,
“ExaminedFiles”: 4084,
“OpenedFiles”: 4071,
“AddedFiles”: 4071,
“SizeOfModifiedFiles”: 0,
“SizeOfAddedFiles”: 104261624315,
“SizeOfExaminedFiles”: 104878838804,
“SizeOfOpenedFiles”: 104261624315,
“NotProcessedFiles”: 0,
“AddedFolders”: 0,
“TooLargeFiles”: 0,
“FilesWithError”: 0,
“TimestampChangedFiles”: 0,
“ModifiedFolders”: 0,
“ModifiedSymlinks”: 0,
“AddedSymlinks”: 0,
“DeletedSymlinks”: 0,
“PartialBackup”: false,
“Dryrun”: false,
“MainOperation”: “Backup”,
“CompactResults”: null,
“VacuumResults”: null,
“DeleteResults”: null,
“RepairResults”: null,
“TestResults”: null,
“ParsedResult”: “Fatal”,
“Interrupted”: false,
“Version”: “2.2.0.3 (2.2.0.3_stable_2026-01-06)”,
“EndTime”: “2026-03-31T11:02:39.2812359Z”,
“BeginTime”: “2026-03-31T10:13:51.2587195Z”,
“Duration”: “00:48:48.0225164”,
“MessagesActualLength”: 8159,
“WarningsActualLength”: 8,
“ErrorsActualLength”: 2,
“Messages”: [
“2026-03-31 11:13:51 +01 - [Information-Duplicati.Library.Main.Controller-StartingOperation]: Operacja Backup rozpoczęta”,
“2026-03-31 11:13:51 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started: ()”,
“2026-03-31 11:15:47 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Completed: (16,808 KiB)”,
“2026-03-31 11:15:47 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: QuotaInfo - Started: ()”,
“2026-03-31 11:16:05 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b02afe0068e044d67b26e3db6cd146fae.dblock.zip.aes (49,017 MiB)”,
“2026-03-31 11:16:05 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b2393bf64fab94f148de9bde4a0d24454.dblock.zip.aes (49,041 MiB)”,
“2026-03-31 11:16:05 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bcff98a53f39c425092ae69a2d60986aa.dblock.zip.aes (49,016 MiB)”,
“2026-03-31 11:16:05 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bcd4b37722090419485c49d8a375ac9b1.dblock.zip.aes (49,014 MiB)”,
“2026-03-31 11:16:09 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-b02afe0068e044d67b26e3db6cd146fae.dblock.zip.aes (49,017 MiB)”,
“2026-03-31 11:16:09 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-ia09e6cb42ac540d7a266ff886f7b435f.dindex.zip.aes (2,669 KiB)”,
“2026-03-31 11:16:10 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-ia09e6cb42ac540d7a266ff886f7b435f.dindex.zip.aes (2,669 KiB)”,
“2026-03-31 11:16:10 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bcba2de6e67c3490ba9ec69882c406037.dblock.zip.aes (49,022 MiB)”,
“2026-03-31 11:16:14 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-bcba2de6e67c3490ba9ec69882c406037.dblock.zip.aes (49,022 MiB)”,
“2026-03-31 11:16:14 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-i7398ca3dc24843d5a60ebadb903bb1e5.dindex.zip.aes (2,747 KiB)”,
“2026-03-31 11:16:16 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-i7398ca3dc24843d5a60ebadb903bb1e5.dindex.zip.aes (2,747 KiB)”,
“2026-03-31 11:16:16 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bac9e7add010d485a96716a4549317077.dblock.zip.aes (49,017 MiB)”,
“2026-03-31 11:16:19 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-bac9e7add010d485a96716a4549317077.dblock.zip.aes (49,017 MiB)”,
“2026-03-31 11:16:19 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-ib6a154b903b449d59a8ccdaa9c535909.dindex.zip.aes (2,778 KiB)”,
“2026-03-31 11:16:20 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Completed: duplicati-ib6a154b903b449d59a8ccdaa9c535909.dindex.zip.aes (2,778 KiB)”,
“2026-03-31 11:16:20 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bc5b83b68dacc47e6a7729e238e56b425.dblock.zip.aes (49,112 MiB)”
],
“Warnings”: [
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerHandlerFailure]: Error in handler: Response status code does not indicate success: 403 (Forbidden).\nHttpRequestException: Response status code does not indicate success: 403 (Forbidden).”,
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeWhileActive]: Terminating 3 active uploads”,
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled”,
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Terminating, but 2 active upload(s) are still active”,
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled”,
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Terminating, but 1 active upload(s) are still active”,
“2026-03-31 12:02:20 +01 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled”,
“2026-03-31 12:02:39 +01 - [Warning-Duplicati.Library.Main.Backend.BackendManager-BackendManagerShutdown]: Backend manager queue runner crashed\nAggregateException: One or more errors occurred. (Response status code does not indicate success: 403 (Forbidden).)”
],
“Errors”: [
“2026-03-31 12:02:39 +01 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error\nHttpRequestException: Response status code does not indicate success: 403 (Forbidden).”,
“2026-03-31 12:02:39 +01 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: The operation Backup has failed\nHttpRequestException: Response status code does not indicate success: 403 (Forbidden).”
],
“BackendStatistics”: {
“RemoteCalls”: 4057,
“BytesUploaded”: 103746119556,
“BytesDownloaded”: 0,
“FilesUploaded”: 4036,
“FilesDownloaded”: 0,
“FilesDeleted”: 0,
“FoldersCreated”: 0,
“RetryAttempts”: 18,
“UnknownFileSize”: 0,
“UnknownFileCount”: 0,
“KnownFileCount”: 17211,
“KnownFileSize”: 442363143423,
“KnownFilesets”: 3,
“LastBackupDate”: “2026-03-29T22:59:11+01:00”,
“BackupListCount”: 3,
“TotalQuotaSpace”: 5499705622528,
“FreeQuotaSpace”: 5041981493255,
“AssignedQuotaSpace”: -1,
“ReportedQuotaError”: false,
“ReportedQuotaWarning”: false,
“MainOperation”: “Backup”,
“ParsedResult”: “Success”,
“Interrupted”: false,
“Version”: “2.2.0.3 (2.2.0.3_stable_2026-01-06)”,
“EndTime”: “0001-01-01T00:00:00”,
“BeginTime”: “2026-03-31T10:13:51.2587219Z”,
“Duration”: “00:00:00”,
“MessagesActualLength”: 0,
“WarningsActualLength”: 0,
“ErrorsActualLength”: 0,
“Messages”: null,
“Warnings”: null,
“Errors”: null
}
} `

`

Google Drive 403 with Duplicati is almost always one of three things:

OAuth token invalid or expired. The most common cause when switching from a working backend to Drive. In Duplicati’s destination config, click the “AuthID” button and go through the OAuth re-authorization flow, even if the field shows an existing token, it may have been revoked when you changed the destination. After re-authorizing, test with a small backup to confirm it goes through.

Drive storage quota exceeded. Your first backup from Hetzner migration would be uploading 104 GB (per the stats in your logs, AddedFiles: 4071, SizeOfAddedFiles: ~97 GB). Free Google Drive is 15 GB shared across Drive/Gmail/Photos. If you’re over quota, uploads fail with 403. Check storage.google.com to see your current usage.

Google Drive API rate limiting. 97 GB in one shot can hit Google’s upload rate limits, which present as 403 errors rather than 429. If this is the case you’ll typically see retries in the logs and then a fatal after too many failures. Duplicati has a googledrive-use-folder-id option but no built-in throttling, the workaround is splitting the backup into smaller subsets or running during off-peak hours and letting Duplicati retry over multiple sessions.

To narrow down which it is: check the full error message in your Duplicati log (Settings → Show log → Remote in the UI, or look for the specific 403 response text). The error body from Google usually says “storageQuotaExceeded”, “authError”, or “rateLimitExceeded” explicitly.