Looking to develop script to Move User's content to Admin Account. I have found 4 ways that this can be accomplished. I am not sure what will be the best strategy here.
1. Change Owner: Change Folder Owner - Box Developer Documentation. According to this documentation: "To change the owner of a folder, first invite the user you wish to transfer the folder to as a collaborator on the folder." and then "Then, update the created collaboration by changing the role of that invited user to owner."
This works however, I was looking to transfer all of the content to a for the target owner into a specific folder. This fails when there is a exact same name folder/file already in target owner root files/folder
2. Move the folder: Move the folder into a specific target owner folder by updating the parent id of the folder we are trying to move.
This works however, it fails for large folders. The request timesout. The documentation says that this is a synchronous operation and the operation can take hours for large folder.
3. Transfer User Content: https://developer.box.com/reference/put-users-id-folders-0/
I have not tried this, but the documentation says that this is a synchronous call and I suspect I will have same issue like I have in #2.
4. UsersManager.MoveUserFolderAsync: Not sure what is difference between #3 and this one. please let me know.
What I am looking for is something that can work asynchronously. We can invoke a request for transfer of contents (we may have terabytes of data owned by the user and synchronous methods are just not going to work).
Please provide some guidance.