Reputation: 39
The documentation describes how to copy one file (https://developers.google.com/drive/api/v2/reference/files/copy), but nothing is said about the folder. This script, when copying a folder, gives an error 403:
window.gapi.client.drive.files
.create({
resource: {
name: this.currentFile.newTitle,
mimeType: 'application/vnd.google-apps.folder'
},
fields: 'id, name, mimeType, createdTime'
}).then(res => {
window.gapi.client.drive.files.list({
q: `'${this.currentFile.id}' in parents and trashed = false`,
fields: 'files(id, name, createdTime, mimeType)'
}).then(res => {
console.log(res)
res.result.files.forEach(file => {
window.gapi.client.drive.files
.copy({
fileId: file.id,
fields: 'id, name, mimeType, createdTime'
}).then(res => console.log(res))
})
})
})
I tried other solutions that I found on the Internet, but they also did not work. Could you please attach some sample code that works for you?
Upvotes: 0
Views: 1634
Reputation: 682
I've published a pypi package to copy a google drive folder. It recursively copies files down the file directory from a folder you specified
https://pypi.org/project/googledrive-cloner/
Upvotes: 0
Reputation: 117321
files.copy does just that copies a single file
If you check the very top of the documentation page that you linked you will notice it states it does not work on folders.
To copy a folder you should first do a file.create and create a folder the do a file.list to loop though all of the files in the folder then do a file.copy on each of the files.
There is no bulk copy everything in a folder method. Your going to have to do this one by one.
Upvotes: 4