We’re going to somehow change owner to finish the migration process.

Download and setup rclone for your destination account. Here’s the instructions of account setup in case you cannot find it.

By using rclone, you are doing yourself a big favor without having to use web interface to do everything. You’ll still bump into unknown server-side copy API limitations, that means a looong waiting time is almost guaranteed. Below is the example of my command.

rclone copy -v --stats 30s --stats-log-level INFO --transfers 2 --checkers 4 --max-size 300M “Gsuite:\SharedfolderNotOwnedByMe” “Gsuite:\BackupOwnedByMe”

You might have already noticed that the above command only copy files larger than 300M — that’s because if you server-side copy large files, you’ll encounter ban. Unknown server-side copy API limitations again. We will circumvent that later.

Although the above behavior of rclone should suffice, you can still check this page if you want to alter command parameters, push it to the limits. Be gentle to the Google server, or you’ll encounter ban.

2. After the command finished, use your file compare software to check how many large files got skipped by rclone. Make a list of them, you’ll need that later.

3. On the web interface of your destination account, trace your list in the shared folder owned by source account, and find all the files that got skipped in step 2.

4. Pause sync of Backup and Sync temporary.

5. Right click → Make copy of. This will make another instance of the selected file in the same folder, named “Copy of %filename%”, effectively transferred ownership cause now the owner of said file is your destination account.

Do not use any google applet / google application script cause they’re prone to error, still restricted by API limitations, timed out frequently, etc. Execute the steps on the web interface is the currently only known way to circumvent the restriction.

This is the most exhausting part, sorry if you have many large files separated in different folders and want to preserve their hierarchy (you can prepare your migration ahead by moving them into one single folder). The modification date of files will also change.

By the way, this is almost the exact scenario that Google wanted to prevent by introducing API limitations. Batch process of large file handling which caused their server a huge workload.

Be aware that no matter how much you pay, it’s not even a dime compared to the maintenance cost. Do not abuse it.

5. After you absolutely sure every large file got skipped by rclone are manually made copy of, enter the following command in rclone:

rclone move -v --stats 30s --stats-log-level INFO --transfers 2 --checkers 4 --drive-auth-owner-only "Gsuite:\SharedfolderNotOwnedByMe" "Gsuite:\BackupOwnedByMe"

The flag -drive-auth-owner-only will move your manually created “copy of” file instances from shared folder into your own folder. Because it does not include cross-domain copy, it would be done almost instantly.

6. Resume sync of Backup and Sync.

7. File Stream should have already synced. If not, wait a little bit.

8. Use your own way to mass-rename files recursively and locally in your folder BackupOwnedByMe. I recommend Bulk Rename Utility, you can filter files ≥ 300M, select them and remove 8 characters from the beginning of the files.

File Stream will sync that change almost instantly.